我的人生路  
          日歷
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789
          統計
          • 隨筆 - 74
          • 文章 - 57
          • 評論 - 7
          • 引用 - 0

          導航

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          顏色

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           
          Java 語言中的 return 語句

          眾所周知,return 只能用在有返回類型的函數中,但是有返回值的函數一定要有return嗎?return都可以用在函數的哪些地方呢?這是本文需要討論的問題。

          --------------------------------------------------------------------------------


          例一:

          class test {
            public  String test() {
              if(true){
                return "";
              }
              else{
                return "";
              }
            }
          }

          上面這樣即可通過編譯,但是下面這兩個例子卻不能通過編譯:

          (一)
          class test {
            public  String test() {
              if(true){
                return "";
              }
            }
          }


          (二)
          class test {
            public  String test() {
              if(isTrue()){
                return "";
              }
              else if(!isTrue()){//兩個if里的判斷包括了所有的可能性,但是還是編譯期error
                return "";
              }
            }
             boolean isTrue(){
              return true;
            }
          }

          結論1:
               對于(一),這是因為java編譯器認定單獨的if語句只在當一定條件滿足情況下才執行,它認為if不會有任何情況下都能執行的能力。
               對于(二),這是因為java編譯器對if else 語句能夠全面囊括所有情況的能力只限定在的if...else(或if...else if...else)時,而不包括if...else if。



          --------------------------------------------------------------------------------


          再看例二:

          class test {
            public  String test() {
              while(true){
                return "";
              }
            }
          }
          上面這樣即可通過編譯,但是下面這樣不行:

          class test {
            public  String test() {
              while(isTrue()){
                return "";
              }
            }
             boolean isTrue(){
              return true;
            }
          }

          結論2:
               這是因為編譯器認為while語句有在任何情況下都能執行的能力,但是只在入參為true的情況下有該能力。



          --------------------------------------------------------------------------------


          再看例三:

          public class test {
             String test() throws Exception{ 

               throw new Exception();//拋出異常后,跳出程序,程序中止
            }
          }
          結論3:
              如果函數中創建了異常,并拋出,則該函數可以不返回值



          歡迎大家訪問我的個人網站 萌萌的IT人
          posted on 2006-02-13 16:17 一天一點愛戀 閱讀(199) 評論(0)  編輯  收藏 所屬分類: java

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          Copyright © 一天一點愛戀 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 林州市| 拉孜县| 察隅县| 建始县| 香格里拉县| 庆阳市| 兴仁县| 渭源县| 巴彦县| 湘乡市| 日照市| 汉寿县| 宣威市| 北碚区| 巴东县| 德庆县| 温州市| 乌兰浩特市| 新乡县| 遂昌县| 阿荣旗| 工布江达县| 大方县| 神农架林区| 宝丰县| 兰考县| 观塘区| 星子县| 台中市| 平湖市| 武宣县| 丰镇市| 瑞金市| 华坪县| 阳曲县| 崇明县| 昆山市| 漯河市| 广德县| 武穴市| 丹巴县|