徹底搞懂自增自減運算符

要弄懂自增自減到底是怎樣運算的,最關鍵的一點是明白自增自減變數的值是如何變化的

對於(++i)前自增和(--i)前自減沒有特別需要注意的地方,關鍵是(i++)後自增和後自減(i--)

*注意:後自增和後自減都會創建一個臨時變數temp存儲自增或自減之前的值

只要弄懂這一點我們就能明白自增自減運算符的運算過程了,下面以代碼為例來說明

public class Demo1 { public static void main(String[] args) { int i = 1; int j = 2; int k = (++i) + (i++) + (--j) + (j--); System.out.println(i);//3 System.out.println(j);//0 System.out.println(k);//6 }} /*從左向右運算 注意:表達式中的2個i和2個j都是同一個變數i和j 其中一個變數的值發生變化,另外一個變數的值也會發生變化 k = (++i) + (i++) + (--j) + (j--) 第一步: i=i+1=2 k = 2 + (2++) + (--j) + (j--) 第二步: temp=i=2 i=i+1=3 k = 2 + temp + (--j) + (j--) 第三步: j=j-1=1 k = 2 + 2 + 1 + (j--) 第四步: temp=j=1 j=j-1=0 k = 2 + 2 + 1 + temp 第五步: k = 2 + 2 + 1 + 1 最後輸出: k = 6 i = 3 j = 0 */

推薦閱讀:

查看原文 >>
相關文章