lucianodacunha.net

terça-feira, 7 de fevereiro de 2012

Instruções break e continue

As instruções break e continue interrompemo fluxo do processamento com uma pequena diferença, de uma para outra.
  • continue: a execução do loop continua, porém o código após a instrução não será executado enquanto continue estiver sendo processado;
  • break: a execução não continua. O processamento salta para fora do bloco.
Essas instruções só podem ser usadas dentro de um loop.


class TestInstructions{
 public static void main(String[] args){

  for (int e = 0; e < 10; e++){

   System.out.println("...loop e: " + e);

   if (e >= 5){continue;}

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

    System.out.println("\t...loop i: " + i);

    if (i >= 5){break;}

    System.out.println("\t" + e + "," + i + " ");

   }

   System.out.println();
  }
 }
}

Na classe abaixo, fica mais evidente que com continue o loop é executado, mas somente o código depois da instrução não é processado.
Note que o valor de loops retornados no segundo loop é o mesmo do primeiro loop. Verifique também o valor de loops retornados quando utilizamos a instrução break.

class TestaContinue{

 public static void main(String[] args){

  int quantidadeDeLoops;

  System.out.println("chamando testContinue() com valor 1!");
  quantidadeDeLoops = testContinue(1);
  System.out.println("..quantidade de loops executados: " +
   quantidadeDeLoops);

  System.out.println("chamando testContinue() com valor 5!");
  quantidadeDeLoops = testContinue(5);
  System.out.println("..quantidade de loops executados: " +
   quantidadeDeLoops);

  System.out.println("chamando testBreak() com valor 1!");
  quantidadeDeLoops = testBreak(1);
  System.out.println("..quantidade de loops executados: " +
   quantidadeDeLoops);

  System.out.println("chamando testBreak() com valor 5!");
  quantidadeDeLoops = testBreak(5);
  System.out.println("..quantidade de loops executados: " +
   quantidadeDeLoops);

 }

 static int testContinue(int valor){

  int i = 0;

  for (; i < 10; i++){

   if (valor == 5){continue;}
    System.out.println(i + "..");

  }

  return i;
 }

 static int testBreak(int valor){

  int i = 0;

  for (; i < 10; i++){

   if (valor == 5){break;}
    System.out.println(i + "..");

  }

  return i;
 }
}

Marcadores: ,

0 Comentários:

Postar um comentário

Assinar Postar comentários [Atom]



<$I18N$LinksToThisPost>:

Criar um link

<< Página inicial