<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zhrb的空間

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      20 隨筆 :: 0 文章 :: 29 評論 :: 0 Trackbacks
    java類庫中java.util.Arrays 類的toString方法的源代碼。如下:
     1   public static String toString(long[] a) {
     2        if (a == null)
     3            return "null";
     4    int iMax = a.length - 1;
     5    if (iMax == -1)
     6            return "[]";
     7
     8        StringBuilder b = new StringBuilder();
     9        b.append('[');
    10        for (int i = 0; ; i++{
    11            b.append(a[i]);
    12        if (i == iMax)
    13        return b.append(']').toString();
    14            b.append("");
    15        }

    16    }
    for循環有點奇怪,中間的那個表達式是空的。其實即使加上了條件,for (int i = 0; i<=iMax ; i++) 和源程序是一個效果的,純粹是多余的,但是多余地加上了這條,結果編譯出錯了!提示沒有返回語句
    上面的文字摘自下面的文章:
    http://www.tkk7.com/raylong1982/archive/2007/11/01/157542.html
    我的理解是:
    如果return語句唯一存在于for循環里面,for中間語句加入任何判斷條件,除非這個判斷條件絕對為真(如空語句、ture、3>2),否則判斷條件就有可能為假導致無法執行到這個循環中的return語句,編譯器顯然不允許這種情況發生,所以當return語句只在for循環體內出現,就不允許for循環中間的那個語句出現類似i<=iMax這樣的充滿不確定性的判斷,語法上。簡單一句話,包含return的那個句子,至少要讓編譯器覺得,這個return是可以執行到的,以減少程序運行后出錯的可能。
    不過即使編譯器如此努力,還是架不住人們可能出現的語義上的錯誤,看下面這段代碼: 
    1    public static int max(int a, int b){
    2        for(;;)
    3            if (falsereturn a>b?a:b;
    4    }

    從語義上分析,return是無論如何也執行不到的,但是編譯器認為for循環內的語句肯定可以執行到,并且里面還有return語句,所以就想當然的認為應該可以執行到return語句,所以沒有報錯。至于到底有沒有錯,想想看、試一下就知道了。呵呵


    posted on 2007-11-01 22:05 zhrb 閱讀(838) 評論(0)  編輯  收藏

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


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 中国毛片免费观看| ssswww日本免费网站片| 99久久免费中文字幕精品| 亚洲国产成人精品无码一区二区 | 亚洲免费福利视频| 日韩内射激情视频在线播放免费| 精品亚洲综合在线第一区| a级毛片毛片免费观看永久| 亚洲啪啪AV无码片| 日本不卡免费新一区二区三区| 久久久久亚洲AV无码专区首| 久久精品乱子伦免费| 麻豆亚洲AV永久无码精品久久| 久久午夜免费鲁丝片| 亚洲国产成人精品久久| 成年美女黄网站色大免费视频| 亚洲熟妇av午夜无码不卡| 国产在线观看www鲁啊鲁免费| 黄色免费网站在线看| 亚洲中文字幕丝袜制服一区| 91免费福利视频| 亚洲综合国产精品| 特级做A爰片毛片免费69 | 免费福利在线观看| 亚洲日本韩国在线| 精品免费视在线观看| 亚洲国产精品美女| 四虎永久免费网站免费观看| 亚洲国产精品久久久久婷婷老年| 久久国产精品成人片免费| 日韩亚洲国产高清免费视频| 99在线在线视频免费视频观看| 亚洲成a人片毛片在线| 白白国产永久免费视频| 精品无码国产污污污免费网站国产| 丝袜熟女国偷自产中文字幕亚洲| 国产一区视频在线免费观看 | 久久久久亚洲精品天堂| 成年美女黄网站18禁免费| 国产乱码免费卡1卡二卡3卡| 在线观看午夜亚洲一区|