java中i++和++i的區別。

來源:互聯網
上載者:User

java中的一些學習筆記:

先看一段代碼:

在java中輸入這樣一段代碼

 

int m = 0; for(int i = 0 ; i < 100 ; i++){            m = m ++;         }         System.out.println(m);

是不是很多人認為結果是100!很遺憾,結果為0。

在去C 中看看試試:

int main(){int m = 0; for(int i = 0 ; i < 100 ; i++){             m = m ++;         }cout<<c;             }

很上面一樣嗎?很遺憾,結果是100.

看來java和C 是不一樣的。

在來看下下面的一些例子:

public static void method1(){int x = 5;System.out.print("x+++1+x++ : ");System.out.println(x++ +1 + x++);//5+1+6}public static void method2(){/***這裡的method2和method3的執行順序是不一樣的。*/int x = 5;System.out.print("(x++)+x : ");System.out.println((x++)+x);//5+6}public static void method3(){int x = 5;System.out.print("x+(++x) : ");System.out.println(x+(++x));//5+6}public static void method4(){int x = 5;System.out.print("x+++1 : ");System.out.println(x++ +1);//5+1}public static void method5(){int x = 5;--x;//4System.out.print("--x : ");System.out.println(x);}public static void method6(){int x = 5;//-6System.out.print("~x : ");System.out.println((~x));}public static void method7(){int x = 5;int q = 0;q = (++x) +(++x) + (++x);//6+7+8System.out.print("(++x) + (++x) + (++x) :");System.out.println(q);}public static void method8(){int x = 5;int q = 0;q = ++x+x+++1+x++;//6+6+1+7System.out.print("++x + x + ++1 + x++ :");System.out.println(q);}public static void method9(){int x = 5;int q = 0;q = ++x + ++x + x + ++x;//6+7+7+8System.out.print("++x + ++x + x + ++x :");System.out.println(q);}

很多人不知道準確的說出結果是多少。

利用javap命令。 javap -c 檔案名稱.可以看到準確的位元組碼執行順序。去看看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.