〈转载请申明出处,谢谢合作!〉
问题:
public class Test{
public static void main(String[] args){
int a=1;
a=a++;
System.out.println("a="+a);
}
}
博主不卖关子啦,正确答案是1。这是为什么呢,相信有不少新手朋友们都会认为正确答案是2的吧~~
其实很简单,我们仅对a++进行剖析,当cpu运行该程序的时候,由于看到是后增运算所以会临时开辟一块区域来存储a的值,我们仅记作temp=1;
然后a继续自增结果为a=2;当运行完后,要执行a=temp:所以a=1。
上述用代码表示就是:
a=a++ ----------->int temp=a;a=a+1;a=temp;
所以a=1.