Mudanças entre as edições de "Pensamento Computacional - Comandos de controle de fluxo no Java: break e continue"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 3: Linha 3:
 
Muitas vezes deseja-se que o um determinado loop seja interrompido sem que este encerramento seja feito pela condição colocada no comando de decisão. Normalmente seria um encerramento de forma atípica.  
 
Muitas vezes deseja-se que o um determinado loop seja interrompido sem que este encerramento seja feito pela condição colocada no comando de decisão. Normalmente seria um encerramento de forma atípica.  
  
O exemplo a seguir demonstra o uso do break. É puramente demonstrativo. O programa le 5 números inteiros. Caso o número seja igual ao "valor de i" (número do laço), o programa se encerra pelo break.  
+
O exemplo a seguir demonstra o uso do break: é puramente demonstrativo. O programa faz a leitura de 5 números inteiros. Caso o número seja igual ao "valor de i" (número do laço), o programa se encerra pelo break, caso contrário, o encerramento é pela expressão 2 do for (a condição de teste).
 +
 
 +
Notar que o break é usado normalmente para encerramentos "atípicos" de um loop. Normalmente, se esperaria que o loop se encerrasse normalmente, mas uma condição extra leva ao encerramento do loop.
 +
 
 +
 
  
 
<syntaxhighlight lang=java>
 
<syntaxhighlight lang=java>
Linha 21: Linha 25:
 
       }
 
       }
 
       if ( i == 5 )
 
       if ( i == 5 )
 +
              System.out.println("O loop acima terminou normalmente");
 +
      else
 +
              System.out.println("O loop acima encerrou pelo break");
 +
 +
    }   
 +
}
 +
</syntaxhighlight>
 +
 +
Notar que é possível (mas muitas vezes complexo), manter uma saída normal pela condição do comando de repetição. Normalmente, uma variável indicadora pode ser usada como apoio. Veja o exemplo seguinte:
 +
 +
<syntaxhighlight lang=java>
 +
import java.util.Scanner;
 +
 +
public class ComandoBreak {
 +
    public static void main(String[] args) {   
 +
      int i, numero;
 +
      boolean flag;
 +
      Scanner teclado = new Scanner(System.in);
 +
 +
      for ( i = 0, flag = true; (i < 5) && flag ; i = i + 1 ){
 +
          System.out.println("Laço de número " + i);
 +
          System.out.println("Entre com um número ");
 +
          numero = teclado.nextInt();
 +
          if ( i == numero )
 +
              flag = false;
 +
      }
 +
      if ( flag )
 
               System.out.println("O loop acima terminou normalmente");
 
               System.out.println("O loop acima terminou normalmente");
 
       else
 
       else

Edição das 16h41min de 17 de outubro de 2023

Comando break

Muitas vezes deseja-se que o um determinado loop seja interrompido sem que este encerramento seja feito pela condição colocada no comando de decisão. Normalmente seria um encerramento de forma atípica.

O exemplo a seguir demonstra o uso do break: é puramente demonstrativo. O programa faz a leitura de 5 números inteiros. Caso o número seja igual ao "valor de i" (número do laço), o programa se encerra pelo break, caso contrário, o encerramento é pela expressão 2 do for (a condição de teste).

Notar que o break é usado normalmente para encerramentos "atípicos" de um loop. Normalmente, se esperaria que o loop se encerrasse normalmente, mas uma condição extra leva ao encerramento do loop.


import java.util.Scanner;

public class ComandoFor {
    public static void main(String[] args) {     
       int i, numero;
       Scanner teclado = new Scanner(System.in);

       for ( i = 0; i < 5; i = i + 1 ){
           System.out.println("Laço de número " + i);
           System.out.println("Entre com um número ");
           numero = teclado.nextInt();
           if ( i == numero )
               break;
       }
       if ( i == 5 )
               System.out.println("O loop acima terminou normalmente");
       else
               System.out.println("O loop acima encerrou pelo break");

    }    
}

Notar que é possível (mas muitas vezes complexo), manter uma saída normal pela condição do comando de repetição. Normalmente, uma variável indicadora pode ser usada como apoio. Veja o exemplo seguinte:

import java.util.Scanner;

public class ComandoBreak {
    public static void main(String[] args) {     
       int i, numero;
       boolean flag;
       Scanner teclado = new Scanner(System.in);

       for ( i = 0, flag = true; (i < 5) && flag ; i = i + 1 ){
           System.out.println("Laço de número " + i);
           System.out.println("Entre com um número ");
           numero = teclado.nextInt();
           if ( i == numero )
               flag = false;
       }
       if ( flag )
               System.out.println("O loop acima terminou normalmente");
       else
               System.out.println("O loop acima encerrou pelo break");

    }    
}


Exercício

Implementar um programa Java para fazer a média de até N números inteiros a serem fornecidos pelo usuário. Somente números acima de zero devem ser considerados. Caso um número igual ou inferior a zero seja fornecido, o loop deve se encerrar. Use o comando for() e break. A média dos números fornecidos deve ser calculada no final.

Comando continue

O comando continue força o término de um laço do loop.

import java.util.Scanner;

public class ComandoFor {
    public static void main(String[] args) {     
       int i;
   
       for ( i=0; i < 10; i = i + 1 )
           System.out.println("Valor de i é " + i);  
           if ( i == 5 )
               continue;
    }    
}

Exercício