我第一次看到这个关键字,我想知道是否有人可以向我解释它是做什么的。

continue关键字是什么? 它是如何工作的? 什么时候使用?


当前回答

让我们来看一个例子:

int sum = 0;
for(int i = 1; i <= 100 ; i++){
    if(i % 2 == 0)
         continue;
    sum += i;
}

这将得到从1到100的奇数之和。

其他回答

考虑一个If Else条件。continue语句执行条件中的内容,并跳出条件,即跳转到下一个迭代或条件。但是Break会离开循环。 考虑下面的程序。

public class ContinueBreak {
    public static void main(String[] args) {
        String[] table={"aa","bb","cc","dd"};
        for(String ss:table){
            if("bb".equals(ss)){
                continue;
            }
            System.out.println(ss);
            if("cc".equals(ss)){
                break;
            }
        }
        System.out.println("Out of the loop.");
    }

}

它将输出:aa cc Out of the loop。

如果你用break代替了continue(在If .之后),它只会打印aa并退出循环。

如果满足条件"bb" = ss: 对于继续:它进入下一个迭代,即。“cc”.equals (ss)。 Break:它从循环中出来并打印“out of the loop”。

不带标签的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中的等效程序。

这种类型的控制流是不推荐的,但是如果你这样选择,你也可以使用继续来模拟有限形式的goto。在下面的例子中,continue将重新执行空的for(;;)循环。

aLoopName: for (;;) {
  // ...
  while (someCondition)
  // ...
    if (otherCondition)
      continue aLoopName;

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

继续到循环之外

Continue有点像goto。你熟悉break吗?我们可以比较容易地对比一下:

Break终止循环(跳转到它下面的代码)。 Continue终止当前迭代循环中代码的其余处理,但继续循环。

continue语句用于循环控制结构中,当您需要立即跳转到循环的下一个迭代时。

它可以与for循环或while循环一起使用。 Java continue语句用于继续循环。它继续程序的当前流程,并在指定条件下跳过剩余的代码。

对于内循环,它只继续内循环。

我们可以在所有类型的循环中使用Java continue语句,例如for循环、while循环和do-while循环。

例如

class Example{
    public static void main(String args[]){
        System.out.println("Start");
        for(int i=0; i<10; i++){
            if(i==5){continue;}
            System.out.println("i : "+i);   
        }
        System.out.println("End.");
    }
}

输出:

Start
i : 0
i : 1
i : 2
i : 3
i : 4
i : 6
i : 7
i : 8
i : 9
End.

[5 .跳过]