GoTo Next Iteration in For-Schleife in Java

176

Gibt es in Java ein Token, das den Rest der for-Schleife überspringt? So etwas wie VB's Continue in Java.

user1277170
quelle

Antworten:

343
continue;

continue; Das Schlüsselwort würde die nächste Iteration beim Aufruf starten

Beispielsweise

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

Dies wird gedruckt

0134

Sehen

Jigar Joshi
quelle
2
und breakwird die Schleife überspringen :)
Shajeel Afzal
18
Das Schlüsselwort "break" würde die Schleife beenden.
Schurkenjunge
56

Versuche dies,

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.

z.B:

fortsetzen

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

    if (i==2){

      continue;
    }
 }

z.B:

brechen

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

        if (i==2){

          break;
        }
     }

z.B:

mit Etikett brechen

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

        if (i==2){

          break lab1;
        }
     }
  }
Kumar Vivek Mitra
quelle
5
Es gibt auch weiter mit Etikett.
Carcamano
35

Wenn Sie die aktuelle Iteration überspringen möchten, verwenden Sie continue;.

for(int i = 0; i < 5; i++){
    if (i == 2){
        continue;
    }
 }

Müssen Sie aus der gesamten Schleife ausbrechen? Verwendenbreak;

for(int i = 0; i < 5; i++){
    if (i == 2){
        break;
    }
}

Wenn Sie aus mehr als einer Schleife ausbrechen müssen, verwenden Sie 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;
        }
     }
  }

* Beachten Sie, dass Sie in diesem Fall keinen Punkt im Code markieren, zu dem Sie springen möchten, sondern die Schleife beschriften! Nach der Pause wird der Code also direkt nach der Schleife fortgesetzt!

Wenn Sie eine Iteration in verschachtelten Schleifen überspringen müssen, verwenden Sie diese continue someLabel;, aber Sie können sie auch alle kombinieren.

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;
        }
     }
  }
Nana
quelle
8

Wie in allen anderen Antworten erwähnt, springt das Schlüsselwort continuezum Ende der aktuellen Iteration.

Zusätzlich können Sie Ihre Schleifenstarts beschriften und dann verwenden continue [labelname];oder break [labelname];steuern, was in verschachtelten Schleifen vor sich geht:

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();
}
Wormbo
quelle
3

Verwenden Sie das continueSchlüsselwort. Lesen Sie hier .

Die continue-Anweisung überspringt die aktuelle Iteration einer for-, while- oder do-while-Schleife.

Kazekage Gaara
quelle
1

Verwenden Sie das Schlüsselwort continue .

EX:

for(int i = 0; i < 10; i++){
  if(i == 5){
    continue;
   }
}
Sumit Singh
quelle