int x;
for(x=1;x<10;x++);
System.out.println(x);
输出为10
我认为for
循环应该给出 x
值为 9
因为循环的条件是 x<10
。我错过了什么?
最佳答案
当 x < 10
时循环结束是 false
。当 x
时会发生这种情况是 10
。请记住,循环执行以下操作:
- 初始化
x=1
- 支票
x < 10
:- 如果
true
然后执行循环体并递增x
- 如果
false
然后跳出循环,保留x
的当前值
- 如果
- 重复 (2.)
所以 x
的值导致循环退出的是 10
因为这是 x
的第一个值在你的循环中 x < 10
是 false
.
关于java变量在循环中递增后保存错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49927760/