在Java中为什么对a赋值为10,在进行a++时还是等于10呢
首先我们看这样一组代码
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