首先我们看这样一组代码
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