Bóson Treinamentos em Ciência e Tecnologia

Estrutura de Decisão Condicional Switch em Java

Estrutura de decisão condicional switch em Java

Condicional Switch em Java

A declaração condicional switch testa o valor de uma variável, e dependendo do valor contido nessa variável, permite executar uma entre múltiplas escolhas de ações. Desta forma, é possível substituir múltiplos “ifs” encadeados por um código mais simples de criar, entender e manter posteriormente.

Sintaxe:

switch (variável) {
  case valor1:
    código se variável = valor1;
    break;
  case valor2:
    código se variável = valor2;
    break;
  case valorN:
    código se variável = valorN;
    break;
  default:
    código se variável diferente de todos os valores;
}

Funcionamento da estrutura switch

O condicional switch testa o valor contido em uma variável e o compara com os valores fornecidos em cada caso, representados pela palavra reservada case. Podemos ter quantos casos forem necessários na estrutura, e quando um dos valores corresponder ao da variável de teste, o código do caso será executado.

A estrutura switch compara o valor de cada caso com o da variável sequencialmente, e sempre que encontra um valor correspondente, executa o código associado ao caso. Para evitar que as comparações continuem a ser executadas após um caso correspondente ter sido encontrado, acrescentamos o comando break no final de cada bloco de códigos. O comando break, quando executado, encerra a execução da estrutura onde ele se encontra.

Assim, quando um bloco for executado, o condicional é interrompido e finalizado, evitando perder tempo testando outros casos que não importam mais.

Valor padrão: default

Caso todos os casos seja, testados e nenhum deles corresponda ao valor da variável de teste, será executado o bloco de código associado à seção default (“padrão”) do condicional. Neste caso, não é necessário acrescentar o comando break, pois este é sempre o último comando da estrutura switch.

Exemplo:

public static void main(String[] args) {
  Scanner entrada = new Scanner(System.in);
  System.out.println("Entre com um número entre 1 e 4:");
  int num = entrada.nextInt();
  switch (num) {
     case 1:
       System.out.println("Você escolheu 1");
       break;
     case 2:
       System.out.println("Você escolheu 2");
       break;
     case 3:
       System.out.println("Você escolheu 3");
       break;
     case 4:
       System.out.println("Você escolheu 4");
       break;
     default:
       System.out.println("Número inválido");
  }
}

Neste exemplo é solicitado ao usuário que entre com um número entre 1 e 4, que será lido e armazenado na variável num.

Na sequência, o valor de num é comparado com os valores de 1 a 4 usando um condicional switch, e uma mensagem específica é exibida para cada valor. Se o usuário entrar com um valor fora dessa faixa, será exibida uma mensagem padrão, definida pela seção default do condicional.

Outro exemplo: testando letras

public static void main(String[] args) {
  Scanner entrada = new Scanner(System.in);
  System.out.println("Digite uma letra entre a e d:");
  String letra = entrada.nextLine();
  switch (letra) {
    case "a":
      System.out.println("Abacate");
      break;
    case "b":
      System.out.println("Buriti");
      break;
    case "c":
      System.out.println("Caju");
      break;
    case "d":
      System.out.println("Damasco");
      break;
    default:
      System.out.println("Letra inválida");
  }
}

Anterior: Condicional if / else em Java

Sair da versão mobile