为什么在这种类型的for循环之后你不能放置一个print语句?我不明白发生了什么。我知道这不是编写for循环的标准方法。所以我正在尝试使用这段代码,因为我在某处看到了这段代码。我只是不明白为什么你不能把印刷声明放在最后。
公共课测试{
public static void main(String [] args){
for( ; ; ) {
int x = 0;
if (x < 5) {
System.out.print(x + " ");
x++;
}
}
System.out.println("The End"); //This line will not compile.
}
}
答案 0 :(得分:1)
for( ; ; )
is same as while(true)
因为你没有在你创建无限循环的任何地方打破这个循环。
因此,在这样的循环之后放置的任何代码都将永远不会执行(将无法访问/死代码),并且编译器会通知您这个问题,因为这种情况很可能不是您的意图。
答案 1 :(得分:0)
循环永远不会结束。你需要在某个地方打破它。像这样的一段时间(真实)。你可以重构for(pre, cond, after){code}
做一会儿
pre
while(cond)
{
code
after
}
所以如果你做for (;;)
,它基本上就像while(true)
。