为什么输出以下代码5而不是4?
public class Test
{
public static void run(int x)
{
while(x < 5)
{
System.out.println(x);
x++;
}
System.out.println(x);
}
public static void main(String[] args)
{
run(1);
}
}
答案 0 :(得分:-1)
只需了解正在发生的事情。
你的循环将保持循环“而x小于5”,所以在你的上一个循环x
将等于4.然后,在你循环中,你执行x++
,所以将{1}添加到x
。 x
不再小于5(它是5),所以你的循环完成并打印出值。
如果您只想循环直到x
等于4,只需将循环条件更改为:while(x < 4)
,或添加if语句以检查值在增加它之前x
:
if(x == 4){
break; //Exit the loop
}
答案 1 :(得分:-1)
想一想while (x < 5) { ... }
实际上说的是什么。
它说:
只要
x < 5
为true
,就继续循环播放。
提示:当x < 5
为4时,x
为真。在表达式x < 5
变为假之前,循环不会结束。 x
评估为false的x < 5
的第一个值是什么?