Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Continue

Nao entendo para que sirve o ¨continue¨

for (int i = 0; i < 100; i++) {
    if (i > 50 && i < 60) {
        continue;
    }
    System.out.println(i);
}
5 respostas

A keyword continue pula a iteração atual do for. Caso ela seja usada da forma que você mostrou no seu exemplo, a execução é pulada até o fim do for mais interno. É mais usada para terminar for loops de maneira mais rápida, evitando assim múltiplas checkagens de ifs aninhados.

Ainda nao consegui entender. Pode ser um exemplo com comentarios?

Dessa forma:

for (int i = 0; i < 100; i++) {
  loop2:
  for (int j = 0; j < 100; j++) {
      if (j == 50) {
        continue; // continua na próxima iteração do loop 2, imprime todos os valores de j até 49, pula o 50, e continua até 99.
      }
      System.out.println(j);
  }
  System.out.println(i);
}
System.out.println("FIM");

Exemplo retirado de: http://www.guj.com.br/t/break-continue-java/55928/5

for (int i = 0;i < 10;i++) {
    if (i%2 == 0) {
        continue;
    }
    System.out.println("Actual = "+i);
}
  • Neste exemplo todo número o qual for par não será aplicado código. Pelo motivo de que "continue" pula para a próxima iteração e o mesmo está dentro de uma condição se a iteração atual for par.
solução!

Bem, a keyword continue é simples e vou lhe explicar da maneira mais simples possível. Vou usar um exemplo da vida real, imagine que você é um responsável por contar o numéro de cartas que cada pessoa de uma fila tem.pess As cartas estão nas mãos delas, você conta uma pessoa por vez, mas em ao chegar na pessoa vestida de palhaço você deseja pular para próxima pessoa sem contar as cartas dela. É esse o efeito de um continue, por exemplo, num cenário deste:

for (int pessoaatual = 0; pessoaatual< 100; pessoaatual++) {

    if (ehpalhaco(pessoaatual)) { // É um palhaço! Pula pro próximo!
        continue; // => Ignoro as próximas linhas e vou direto pro final dessa repetição, então executo o pessoaatual++ e vou dnv comparando, até a condição de parada.
    }
    contarcartas();
}

Ou seja, ele só ignora qualquer coisa que venha abaixo do continue, e retorna a instrução utilizando o que está no terceiro campo do for(nesse caso pessoaatual++).

Entendeu?