public static void main(String[] args){ int i=0; i = (i++)+(i++); System.out.println(i); }
上面結果輸出的是1。在java裏,執行i=(i++)+(i++);建立了2個臨時的整型變量對象,對來存儲每次自增運算的結果。java
他們的執行過程以下:spa
temp1 = i; * tepm1==0
i = i + 1;
temp2 = i; * temp2==1
i = i + 1;
i = temp1 + temp2 ; * i== 1
code
問題的關鍵是:最後是各個臨時變量相加而得出結果,而不是自增(自減)的變量(i)。對象