Iteração GoTo Next no loop For em java

176

Existe um token em java que ignora o restante do loop for? Algo como o VB Continue em java.

user1277170
fonte

Respostas:

344
continue;

continue; A palavra-chave iniciaria a próxima iteração na chamada

Por exemplo

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

Isso imprimirá

0134

Vejo

Jigar Joshi
fonte
2
e breakirá ignorar o loop :)
Shajeel Afzal
18
Em vez disso, a palavra-chave 'break' terminaria o loop.
rogue lad
56

Tente isso,

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.

por exemplo:

continuar

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

    if (i==2){

      continue;
    }
 }

por exemplo:

pausa

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

        if (i==2){

          break;
        }
     }

por exemplo:

quebrar com etiqueta

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

        if (i==2){

          break lab1;
        }
     }
  }
Kumar Vivek Mitra
fonte
5
Também há continuar com o rótulo.
carcamano
35

Se você quiser pular a iteração atual, use continue;.

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

Precisa sair de todo o loop? Usarbreak;

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

Se você precisar interromper mais de um loop, use 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;
        }
     }
  }

* Observe que, neste caso, você não está marcando um ponto no código para o qual saltar, está rotulando o loop! Então, após o intervalo, o código continuará logo após o loop!

Quando você precisar pular uma iteração no uso de loops aninhados continue someLabel;, mas também poderá combiná-las todas.

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
fonte
8

Como mencionado em todas as outras respostas, a palavra-chave continuepulará para o final da iteração atual.

Além disso, você pode rotular o início do seu loop e, em seguida, usar continue [labelname];ou break [labelname];para controlar o que está acontecendo nos loops aninhados:

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
fonte
3

Use a continuepalavra - chave Leia aqui .

A instrução continue ignora a iteração atual de um loop for, while ou do-while.

Kazekage Gaara
fonte
1

use a palavra-chave continue .

EX:

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