-5

是什么意思for (;;)

我在某个基类中找到了它,但在网上找不到解释。

还请解释何时以及如何使用此表达式

4

4 回答 4

10

这是一个无限循环。它没有初始条件,没有增量,也没有结束条件。

这是一样的

while(true) {
    //do stuff
}

当您需要不断重复某些事情时,您可以使用它,直到应用程序结束。但我会改用该while版本

于 2013-09-21T17:18:03.377 回答
2

它被读作“永远”。条件的默认值为真。

你应该什么时候使用它?如果您不希望循环结束(这在服务器中很常见)或者当结束条件自然只在循环中间知道时,在这种情况下您可以使用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);
}
于 2013-09-21T17:18:27.110 回答
1

这意味着无限循环。使用它不是一个好习惯。而是尝试while(true)

于 2013-09-21T17:18:43.013 回答
1

在某些情况下,您想一次又一次地完成一项任务,有时甚至是永远。这种情况下,您使用无限循环。这可以通过多种方式完成。值得注意的是,
使用while

while(true)
{
   // Task you want to repeat
}

使用for,

for(;;)
{
      // Task you want to repeat
}

注意:在实现无限循环时,您可能必须非常小心,因为可能会再次出现相同的问题。捕获异常并重试一段时间是一个很好的做法,如果问题仍然存在,请退出循环。

于 2013-09-21T17:21:51.263 回答