Java片段知識

來源:互聯網
上載者:User

標籤:

  1.在java中有goto,但這隻是保留字,並不能使用(const也是)。在eclipse中的報錯資訊為”Syntax error on token "goto", throw expected“。

goto的類似功能由break/continue 標籤實現。

  (1)break 標籤

outer:        for(int i=0; i<10; i++) {            if(i == 5)                break outer;            System.out.print(i + " ");        }

  結果:0 1 2 3 4

  分析:break通過標籤跳到for迴圈體外,然後就不會再進入該迴圈了。

  (2)continue 標籤

outer:        for(int i=0; i<3; i++) {            for(int j=11; j<15; j++) {                if(j == 13)                    continue outer;                System.out.print(i + " " + j + " ");            }        }

 

  結果:0 11 0 12 1 11 1 12 2 11 2 12

  分析:continue通過標籤跳到for外,但只是跳出當前的這次迴圈,它會重新進入for迴圈。

 

  2.是否可以在static環境中訪問非static變數?

  eclipse的提示資訊:Cannot make a static reference to the non-static field

 

  3.標識符與unicode

  標識符能由字母(unicode),數字,貨幣符號(¥,$),串連符號(_)組成。

  這裡關注unicode,並不是所有unicode都可以作為標識符的一部分。同時,並不是只有數字不能作為標識符首字元。

     int start = 0;        int part = 0;        for(int i=0x0000; i<=0x10ffff; i++) {            if(Character.isJavaIdentifierStart(i)) {                start++;//                System.out.println(Character.toChars(i));            }            if(Character.isJavaIdentifierPart(i))                part++;        }        System.out.println("Unicode字元集個數:" + (0x10ffff+1));        System.out.println("作為首字元個數:" + start);        System.out.println("作為標識符一部分個數:" + part);        System.out.println("兩者差距:" + (part-start));

  結果:

 

  4.i++與++i

  這兩者不只是先加和後加怎麼簡單,對於i++,其實i是先將自身的值複製給一個臨時變數,然後對自身加1(如同++i),最後才參與運算。

     int i = 1;        i = i++;        System.out.println(i);

  結果: 1

  i++的實現如下所示:

    int temp = i;    i = i+1;    return temp;

 

  5.i+++j結果是什嗎?

        int i = 1, j = 3, result;        result = i+++j;        System.out.println("result: " + result);        System.out.println("i = " + i);        System.out.println("j = " + j);    

  結果:

  分析:相當於(i++)+j。編譯器會採取貪心規則,盡量找最多的運算子(如果學過編譯原理能明白為什麼這麼做)。

  

Java片段知識

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.