我的人生路  
          日歷
          <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 一天一點愛戀 閱讀(200) 評論(0)  編輯  收藏 所屬分類: java

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


          網站導航:
           
           
          Copyright © 一天一點愛戀 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 阿克| 苗栗市| 塘沽区| 抚松县| 迁西县| 舒城县| 新源县| 洪泽县| 东安县| 隆回县| 隆德县| 观塘区| 临沂市| 鄂州市| 谢通门县| 山阴县| 丰镇市| 石家庄市| 固始县| 珲春市| 分宜县| 电白县| 卢湾区| 泽库县| 鹤壁市| 霍州市| 大邑县| 交城县| 通许县| 娱乐| 永春县| 比如县| 洪洞县| 平和县| 南溪县| 昌江| 司法| 武邑县| 卢龙县| 东辽县| 武夷山市|