【发布时间】:2018-04-19 18:23:33
【问题描述】:
int x;
for(x=1;x<10;x++);
System.out.println(x);
输出是10,我认为for 循环应该给x 一个值9,因为循环的条件是x<10。我错过了什么?
【问题讨论】:
-
因为到底是
; -
你用
1初始化x,并在每次迭代中将x增加1。你继续,只要x < 10。因此,要终止,x >= 10。因为你增加了1,x == 10。 -
@YCF_L 我认为分号是 OP 真正想要的。他/她对循环终止后
x == 10而不是x == 9感到眼花缭乱。 -
这就是为什么我们通常将循环变量的范围限制在循环本身;)无论如何,如果您想要 9,那么您的代码的较短版本将是
int x = 9:P