本帖最后由 xxz 于 2015-5-28 12:28 编辑
- a=0;
- a=a++;
- System.out.println(a);
- 结果:0
复制代码
看这段代码,考虑了好久,还是没懂答案为什么是 0;首先,就算a++ 先赋值后运算,a++ 之后,a也就等于 1 了呀。像下面的这段代码 c++后 c就等于1了
- int a=0,c=0;
- int b=c++;
- a=a++;
- System.out.println("a="+a+" ; b="+b+" ; c="+c);
- 结果:a=0 ; b=0 ; c=1
复制代码
问题解决了。感谢@yi95392 http://bbs.itheima.com/thread-199673-1-1.html
答案分析:
* 1.a++表达式是先用后加,故表达式的值为0;
* 2.取出a++表达式的值后,执行++操作,a变成1;
* 3.将之前取出来的a++表达式的值(即0)赋值给a,a变成0; |