(;;)在Java中意味着什么?

时间:2012-05-09 22:11:57

标签: java

  

可能重复:
  What does for (;;) mean in Java?

我正在阅读一些Java API文档,我遇到了一个非常奇怪的外观的循环,这让我很高兴来到这里并询问它是什么。很高兴能尽快找到它。谢谢你即将到来的努力。

  public int read() throws IOException {
       synchronized (lock) {
          ensureOpen();
           **for (;;)** {
               if (nextChar >= nChars) {
                  fill();
                  if (nextChar >= nChars)
                       return -1;
               }
              if (skipLF) {
                     skipLF = false;
                  if (cb[nextChar] == '\n') {
                     nextChar++;
                      continue;
                   }
               }
             return cb[nextChar++];
          }
       }
    }

4 个答案:

答案 0 :(得分:3)

  

有(;;)

这是一个无限循环。

例如,它等同于

  

而(真)

Naturally, to exit such a loop, a branching statement is used.

编辑:显然,使用“无限”这个词是一个糟糕的选择。尽管如此,对于所有意图和目的,for(;;)循环不会使用典型for循环的相同条件机制终止。我相信这是问题的关键。这些评论只是在这一点上分裂。

答案 1 :(得分:2)

for(;;)

这是一个infinte循环,没有变量初始化,没有条件检查,没有增量步骤......只有在条件内执行“return”语句时才退出循环。

循环常见:

for(int i = 0 ; i < max ; i++)
希望有所帮助。

答案 2 :(得分:1)

这意味着循环终止的条件不以通常的形式表示。

终止循环的唯一方法是两个return语句。

答案 3 :(得分:0)

正如@Tom所说,这是一个无限循环。 如果你想永远执行某些东西,你可以在你的程序中使用它。

相关问题