<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://m.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 閱讀(835) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 无码中文在线二区免费| 亚洲精品A在线观看| 亚洲av日韩av高潮潮喷无码| 亚洲视频在线观看免费视频| 亚洲AV无码一区二区一二区| 国产免费黄色无码视频| 亚洲国产天堂久久久久久| 无码毛片一区二区三区视频免费播放| 亚洲国产中文字幕在线观看| 牛牛在线精品观看免费正| 精品熟女少妇AV免费观看| 亚洲av无码一区二区乱子伦as| 国产午夜无码精品免费看动漫| 亚洲精品高清国产一久久| 一级a性色生活片久久无少妇一级婬片免费放 | 一级做a爰片久久毛片免费看| 日韩精品免费一级视频| 亚洲国产精品无码久久久| 九九99热免费最新版| 亚洲成av人影院| 无码国产精品一区二区免费式影视| 亚洲精品无码Av人在线观看国产| 国产亚洲精品免费| 成全高清视频免费观看| 精品亚洲av无码一区二区柚蜜| 日韩免费a级毛片无码a∨| 爱情岛论坛亚洲品质自拍视频网站 | 精品成人一区二区三区免费视频| 国产啪亚洲国产精品无码| 国产真人无码作爱视频免费 | 免费h黄肉动漫在线观看| 中文字幕乱码亚洲无线三区| 久久不见久久见免费视频7| 亚洲人成网77777亚洲色| 美女被cao网站免费看在线看| 亚洲jizzjizz在线播放久| 中文字幕在线免费观看| 亚洲风情亚Aⅴ在线发布| 亚洲一区二区三区影院| 在线天堂免费观看.WWW| 日日狠狠久久偷偷色综合免费|