class ExcerciseLib1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x = 1;
while (x < 10) {
x = x + 1;
if (x > 3) {
System.out.println("big x");
}
if (x < 4) {
System.out.println("big 1");
}
}
}
}
在上面的代码中,大1输出2次,大x输出7次。我不太明白为什么大x输出7次,不应该是6次?
我明白了
if (x < 4) {
System.out.println("big 1");
}
输出&#34;大1&#34;两次,因为使用循环,
所以
if (x > 3) {
System.out.println("big x");
}
循环不应该只输出6次吗?
我的脑子难以接受这个。我理解&#34; x = x + 1&#34;表达错了?
答案 0 :(得分:4)
循环条件仅在每次迭代开始时运行。如果条件在迭代过程中变为假,则循环不会神奇地结束。
所以在最后的迭代中,x
最初为9,然后你加1使它成为10,然后循环继续。
答案 1 :(得分:1)
x&lt;在增量之前评估10 ...
所以当x == 9时,它进入循环体,将x递增到10然后打印输出,然后再次计算条件