我第一次看到这个关键字,我想知道是否有人可以向我解释它的作用。
continue
没有标签的语句将从最内层或循环的条件和最内层循环的更新表达式[continue](https://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.16)重新执行。它通常用于提前终止循环的处理,从而避免深度嵌套的语句。在下面的示例中将获取下一行,而不处理循环中的以下语句。while``do``for``if``continue
[continue](https://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.16)
while``do``for``if``continue
while (getNext(line)) { if (line.isEmpty() || line.isComment()) continue; // More code here }
带有标签的,continue会从带有对应标签的循环中重新执行,而不是最里面的循环。这可以用来逃避深度嵌套的循环,或者只是为了清楚起见。
有时continue也用作占位符,以使空循环体更清晰。
for (count = 0; foo.moreData(); count++) continue;
C 和 C++ 中也存在相同的不带标签的语句。Perl 中的等价物是next.
next
不建议使用这种类型的控制流,但如果您愿意,也可以使用continue来模拟有限形式的goto. 在以下示例中,continue将重新执行空for (;;)循环。
goto
for (;;)
aLoopName: for (;;) { // ... while (someCondition) // ... if (otherCondition) continue aLoopName;