日期:2014-05-20  浏览次数:20736 次

请教++、--问题
int i = 0;
i = i++;
System.out.println(i);
//结果输出0;
按照++放前 先取后算的原则,先取i的值0重新赋值给i,再执行自加1的运算,那结果应该是1啊,为什么还是0

------解决方案--------------------
这个问题貌似。。。解释过很多次了。

i = i++; 总体上分为两个大步骤:
1、计算右侧表达式;
2、赋值操作;
而i++是属于第一个大步骤之内的。

你可以再试试看:
i = i++ + i++;
应该能理解清楚点。