转到java中的For循环中的下一个迭代

use*_*170 162 java for-loop

在java中有一个令牌跳过for循环的其余部分吗?类似VB的继续 java.

Jig*_*shi 325

continue;
Run Code Online (Sandbox Code Playgroud)

continue; 关键字将在调用时开始下一次迭代

例如

for(int i= 0 ; i < 5; i++){
 if(i==2){
  continue;
 }
System.out.print(i);
}
Run Code Online (Sandbox Code Playgroud)

这将打印

0134
Run Code Online (Sandbox Code Playgroud)

看到

  • 而'break'关键字将终止循环. (17认同)
  • 并且 `break` 将跳过循环 :) (2认同)

Kum*_*tra 49

试试这个,

1. If you want to skip a particular iteration, use continue.

2. If you want to break out of the immediate loop use break

3 If there are 2 loop, outer and inner.... and you want to break out of both the loop from the inner loop, use break with label.

例如:

继续

for(int i=0 ; i<5 ; i++){

    if (i==2){

      continue;
    }
 }
Run Code Online (Sandbox Code Playgroud)

例如:

打破

for(int i=0 ; i<5 ; i++){

        if (i==2){

          break;
        }
     }
Run Code Online (Sandbox Code Playgroud)

例如:

打破标签

lab1: for(int j=0 ; j<5 ; j++){
     for(int i=0 ; i<5 ; i++){

        if (i==2){

          break lab1;
        }
     }
  }
Run Code Online (Sandbox Code Playgroud)

  • 还有标签继续. (5认同)

nan*_*ana 33

如果要跳过当前迭代,请使用continue;.

for(int i = 0; i < 5; i++){
    if (i == 2){
        continue;
    }
 }
Run Code Online (Sandbox Code Playgroud)

需要打破整个循环?使用break;

for(int i = 0; i < 5; i++){
    if (i == 2){
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你需要打破多个循环使用 break someLabel;

outerLoop:                                           // Label the loop
for(int j = 0; j < 5; j++){
     for(int i = 0; i < 5; i++){
        if (i==2){
          break outerLoop;
        }
     }
  }
Run Code Online (Sandbox Code Playgroud)

*请注意,在这种情况下,您没有在代码中标记要跳转到的点,您正在标记循环!所以在休息之后,代码将在循环之后继续!

当你需要在嵌套循环中跳过一次迭代时continue someLabel;,你也可以将它们全部组合起来.

outerLoop:
for(int j = 0; j < 10; j++){
     innerLoop:
     for(int i = 0; i < 10; i++){
        if (i + j == 2){
          continue innerLoop;
        }
        if (i + j == 4){
          continue outerLoop;
        }
        if (i + j == 6){
          break innerLoop;
        }
        if (i + j == 8){
          break outerLoop;
        }
     }
  }
Run Code Online (Sandbox Code Playgroud)


Wor*_*mbo 8

如所有其他答案中所述,关键字continue将跳到当前迭代的末尾.

此外,您可以标记循环开始,然后使用continue [labelname];break [labelname];控制嵌套循环中发生的事情:

loop1: for (int i = 1; i < 10; i++) {
    loop2: for (int j = 1; j < 10; j++) {
        if (i + j == 10)
            continue loop1;

        System.out.print(j);
    }
    System.out.println();
}
Run Code Online (Sandbox Code Playgroud)