首先我們看這樣一組代碼
public class demo1 {public static void main(String[] args) {int a=10;a=a++;System.out.println(a);}
}
結果:10
不是在第二步有a++操作嗎?為什么還是10呢?
a++的執行步驟如下:
保存當前a的值(即10);
遞增a,讓a變成11;
返回保存的值(10)
將a++返回的值賦給a
為了更清晰的認識我將其分解為偽代碼:
int tmp=a; //tmp=10
a=a+1; //a=11
a=tmp; //a=10