是什么意思for (;;)
?
我在某个基类中找到了它,但在网上找不到解释。
还请解释何时以及如何使用此表达式
这是一个无限循环。它没有初始条件,没有增量,也没有结束条件。
这是一样的
while(true) {
//do stuff
}
当您需要不断重复某些事情时,您可以使用它,直到应用程序结束。但我会改用该while
版本
它被读作“永远”。条件的默认值为真。
你应该什么时候使用它?如果您不希望循环结束(这在服务器中很常见)或者当结束条件自然只在循环中间知道时,在这种情况下您可以使用break
:
for (;;) {
String in = get_input();
if (in.equals("end"))
break;
System.out.println("you entered " + in);
}
不过,这不是最好的例子。您可以在此处不使用无限循环。例如:
for (String in = get_input(); !in.equals("end"); in = get_input()) {
System.out.println("you entered " + in);
}
这意味着无限循环。使用它不是一个好习惯。而是尝试while(true)
在某些情况下,您想一次又一次地完成一项任务,有时甚至是永远。这种情况下,您使用无限循环。这可以通过多种方式完成。值得注意的是,
使用while
,
while(true)
{
// Task you want to repeat
}
使用for
,
for(;;)
{
// Task you want to repeat
}
注意:在实现无限循环时,您可能必须非常小心,因为可能会再次出现相同的问题。捕获异常并重试一段时间是一个很好的做法,如果问题仍然存在,请退出循环。