------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
下面是我曾经被朋友雷到的一道题,求sum的值,但我做错了,好奇的朋友们,听我一一道来
int sum = 0;
for (int i = 0; i < 10; i++) {
sum = sum++;
}
for (int i = 0; i < 10; i++) {
sum = sum++;
}
system.out.println("sum="+sum);
首先你要明白java中的前++和后++的问题,这个就是后++,就是先赋值再+1,一开始sum=0,也就是先将0赋值给(sum++)表达式,然后sum本身自加1
对于这道题,你也可以把它理解为两个变量,变量1:sum++,变量2:sum
由于是赋值运算,首先考虑右边的变量变量1:sum++ 它的结果为0;
其次考虑左边的变量为变量2:sum,它是变量1执行后的结果为1;
最后把右边变量1的值赋值给左边变量2的值,即sum++ 赋值给sum (0赋值给1)
结果依然为0,sum值为0,多次循环赋值,也为0;
所以这道题的打印结果为 sum=0