java的++i和i++的分析
阿新 • • 發佈:2018-12-24
關於自增自減,先來一道題,大家嘗試著做一下:
1 public static void main(String[] args) { 2 3 int a=2; 4 int b=a++; 5 int c=--a; 6 System.out.println("a:"+a+",b:"+b+",c:"+c); 7 }
答案在這裡:
a:2,b:2,c:2
看完答案,不知道大家有沒有什麼感覺,再來一道吧:
1 public static void main(String[] args) {2 3 int i=0; 4 for(int j=0;j<10;j++){ 5 i=i++; 6 } 7 System.out.println("i:"+i); 8 }
下面是答案:
i:0
猜對了嗎,如果沒猜對,好好想想,你一定會猜對的,什麼?你猜對了,
大神啊,那麼請大神接招:
1 public static void main(String[] args) { 2 3 int i=5; 4 int j=(i++)+(++i)+(i--)+(--i);5 System.out.println("i:"+i+",j:"+j); 6 }
答案來也:
i:5,j:24
怎麼樣,有沒有什麼感覺,彆著急,下面是分析:
1 //i++==> i=6;j=5 2 //++i==> i=7;j=7 3 //c--==> i=6;j=7 4 //--d==> i=5;j=5 5 //5+7+7+5=24 6 //6+7+6+5=24
但是有兩個24,結果到底是哪一個呢,別急,看完下面的題你就知道答案了:
1 publicstatic void main(String[] args) { 2 3 int i=5; 4 int j=(i++)+(++i); 5 System.out.println("i:"+i+",j:"+j); 6 }
這是正確答案:
i:7,j:12
猜對了嗎,看我的分析:
1 //i++==> i=6;j=5 2 //++i==> i=7;j=7 3 //6+7=13 4 //5+7=12
明白了吧 >O.O<
這篇文章說是分析,但其實只是給大家出了幾道題,如果大家有什麼想法,可以給我留言哦。