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

Sobre Fábio dos Reis (1324 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*