"continue"关键字在Java中是什么,它如何工作?

314

我第一次看到这个关键字,想知道有人能否解释一下它的作用。

  • continue关键字是什么?
  • 它是如何工作的?
  • 在什么情况下会使用它?
12个回答

2

我来晚了,但是...

值得一提的是,在控制循环的条件表达式中完成所有工作的空循环中,continue非常有用。 例如:

while ((buffer[i++] = readChar()) >= 0)
    continue;

在这种情况下,读取字符并将其附加到buffer的所有工作都在控制while循环的表达式中完成。 continue语句作为视觉指示器,表明循环不需要主体。
这比等效的方式更明显:
while (...)
{ }

相比使用空语句,以下代码展示了更好(更安全)的编程风格:

while (...)
    ;

我完全同意这是更干净和易读的代码,但我不确定我理解你关于它比另一个选项更“安全”的论点,即使用分号直接限定while语句。 - axolotl
@Aalok - 这样更安全,因为单独的分号在视觉上很容易被忽略。而且很容易意外地遗漏,这会使得while后面的下一条语句成为while子句的主体,而这并不明显。显式的continue是明显的,并传达了一个空语句所没有的意图。 - David R Tribble
我明白了,你的意思主要是从设计角度来看。这很有道理。我在想循环结构的底层实现方式。 - axolotl

0

continue 必须在循环内部,否则会显示以下错误:

循环外使用了 continue


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接