没有标签的100
语句将从最内部的while
或do
循环的条件以及最内部的for
循环的更新表达式重新执行.它通常用于提前终止循环的处理,从而避免深度嵌套的语句.在下面的示例中,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
.
不推荐使用这种类型的控制流,但是如果您 Select 这样做,您也可以使用continue
来模拟有限形式的goto
.在下面的示例中,continue
将重新执行空for (;;)
循环.
aLoopName: for (;;) {
// ...
while (someCondition)
// ...
if (otherCondition)
continue aLoopName;