0

浏览其他人工作的一些来源。我发现了很多没有主体的while循环的例子

while(true);

那会做什么?不太清楚除了让它滞后之外还有什么意义?java代码段

do
{
    if (!iterator.hasNext())
    {
        break;
    }

    Object obj = iterator.next();

    if (obj instanceof something)
    {

    }
}
while (true);
4

4 回答 4

6

这是 do..while 循环的结束。这些循环在首先检查循环条件之前运行一次。while(true) 最后意味着循环将无限运行,或者直到在调用的循环内有一个 break 语句。

于 2012-09-22T19:08:02.050 回答
1

您粘贴的内容实际上是一个do-while循环,它至少执行一次(即使 for 的条件while计算为false)。这里的循环体是你在{}之后看到的do

代码中的这一部分使循环成为非无限循环:

if (!iterator.hasNext())
{
    break;
}
于 2012-09-22T19:19:41.713 回答
0

它基本上是一个 do..while 循环。

do {
  // ....
} while(true);

这是infinite loop.

当您想要某事时使用它run forever once it is started

于 2012-09-22T19:15:21.047 回答
0

这可证明等价于:

while (iterator.hasNext()) {
 Object obj = iterator.next();

 ...
}

而且我真的不明白为什么有人会以其他方式对其进行编码。它可能是直接翻译成 Java 的反编译 C 代码。这是我能想到的任何人都这样写的唯一原因。

于 2012-09-22T21:07:18.590 回答