public class Lian
public class Lianxi {
public static void main(String[] args) {
int x = 0;
int i;
int temp = 0;
for (i = 0; i < 100; i++) { // i=
x = (temp++);
}
System.out.println("temp = " + x);
for (i = 0; i < 100; i++) {
temp = temp++;
}
System.out.println("temp = " + temp);
}
}
两个循环语句中的temp的值是如何算出来的
}
类似这种问题,自己写段代码执行一下就清楚了
不同IDE下优先级不一样,结果也不一样
建议自行打断点追踪查看变化,这样自己更容易理解:
解答仅供参考:
你的这段代码中,有两个循环,它们都使用了一个变量temp。
在第一个循环中,temp的值在每次循环中被递增1,然后赋值给变量x。因为i的范围是0到99,所以这个循环将会执行100次。在循环结束时,temp的值将会是100,因为它递增了100次。
在第二个循环中,使用了一个自增运算符“++”来修改变量temp的值。它首先返回temp的值,然后再将temp的值递增1。因此,无论temp的值是多少,它总是会被递增1。由于这个循环也执行了100次,所以在循环结束时,temp的值将仍然是100,因为每次循环都将temp的值递增1,但是这个值并没有被存储下来。
因此,第一个循环中,temp的值被赋值给了变量x,而在第二个循环中,temp的值一直是100,因为递增的值没有被存储下来。
希望能帮助到你!