什么是“继续”关键字,它在Java中是如何工作的?

什么是“继续”关键字,它在Java中是如何工作的?

我第一次看到了这个关键字,我想知道是否有人能向我解释它的功能。

  • 什么是

    continue

    关键词?
  • 它怎麽工作?
  • 什么时候用的?


BIG阳
浏览 355回答 3
3回答

一只斗牛犬

A continue不带标签的语句将从最内部的条件重新执行。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.不建议使用这种类型的控制流,但如果您这样选择,也可以使用continue模拟有限形式的goto..在下面的示例中,continue将重新执行空for (;;)循环。aLoopName: for (;;) {   // ...   while (someCondition)   // ...     if (otherCondition)       continue aLoopName;

慕容森

continue有点像goto..你熟悉吗?break?相比之下,更容易想到它们:break终止循环(跳转到它下面的代码)。continue终止当前迭代循环中代码处理的其余部分,但继续循环。

婷婷同学_

一般来说,我知道continue(和break)作为警告,代码强权使用一些重构,特别是如果while或for循环声明没有立即出现。同样的道理也适用于return在一个方法的中间,但是出于一个稍微不同的原因。就像其他人已经说过的,continue移动到循环的下一次迭代,同时break从包围环中移出。这些可以是维护定时炸弹,因为在continue/break并且它正在继续/破坏上下文以外的循环;添加一个内环或将循环的“内部”移动到一个单独的方法中,您就会有一个隐藏的效果。continue/break失败了。IMHO,最好使用它们作为最后的手段,然后确保在循环的开始或结束时将它们紧密地组合在一起,以便下一个开发人员能够在一个屏幕中看到循环的“边界”。continue, break,和return(除了方法结束时的唯一真实返回),所有这些都属于“隐藏Gotos”的一般范畴。它们将循环和函数控制放在意想不到的位置,这最终会导致错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java