Article image
Milena Félix
Milena Félix06/02/2024 18:21
Compartilhe

Como Utilizar a Estrutura Switch-Case em Java

  • #Java

Quando se trata de lidar com múltiplas condições em Java, a estrutura switch-case se destaca como uma ferramenta poderosa. Esta construção oferece uma forma eficiente de controlar o fluxo do programa com base no valor de uma expressão.

As instruções switch-case em Java são muito similares aos blocos if-else-if... Podemos facilmente substituir qualquer bloco if-else por um bloco switch-case. 

Neste artigo, vamos entender melhor a estrutura switch-case em Java e compreender seu funcionamento, juntamente com alguns exemplos práticos.

Entendendo a Sintaxe do Switch-Case em Java

A estrutura básica do switch-case em Java é a seguinte:

switch (expressao) {
  case valor1:
      // bloco de código a ser executado se a expressao for igual a valor1
      break;
  case valor2:
      // bloco de código a ser executado se a expressao for igual a valor2
      break;
  // outros casos
  default:
      // bloco de código a ser executado se nenhum dos casos anteriores for correspondido
}

Aqui estão os principais elementos da estrutura switch-case:

  • switch (expressao): Este é o cabeçalho da estrutura switch-case. A expressão dentro dos parênteses é avaliada e comparada com os valores dos casos.
  • case valor1: Cada caso representa um valor possível que a expressão pode assumir. Se a expressão for igual a valor1, o bloco de código associado a este caso será executado.
  • break;: Esta instrução é crucial para encerrar a execução do switch-case após o bloco de código do caso correspondente ser executado. Sem a instrução break, a execução continuaria para os casos subsequentes.
  • default:: O bloco default é opcional e será executado se nenhum dos casos correspondentes for encontrado.

Exemplo Prático 1: Determinando o Dia da Semana

Vamos considerar um exemplo onde utilizamos a estrutura switch-case para determinar o nome do dia da semana com base no valor de uma variável diaSemana:

public class Main {
  public static void main(String[] args) {
      int diaSemana = 3;
      String nomeDia;
      switch (diaSemana) {
          case 1:
              nomeDia = "Domingo";
              break;
          case 2:
              nomeDia = "Segunda-feira";
              break;
          case 3:
              nomeDia = "Terça-feira";
              break;
          case 4:
              nomeDia = "Quarta-feira";
              break;
          case 5:
              nomeDia = "Quinta-feira";
              break;
          case 6:
              nomeDia = "Sexta-feira";
              break;
          case 7:
              nomeDia = "Sábado";
              break;
          default:
              nomeDia = "Dia inválido";
      }
      System.out.println("Hoje é " + nomeDia);
  }
}

Neste exemplo, se o valor de diaSemana for 3, a saída será "Hoje é Terça-feira". E assim em diante, ou seja de acordo com o caso a variável dia da semana irá mudar.

Exemplo Prático 2: Classificação de Produtos por Código

Imagine que você está desenvolvendo um sistema de inventário e precisa classificar os produtos com base em seus códigos. Aqui está como você poderia usar a estrutura switch-case para isso:

public class Main {
  public static void main(String[] args) {
      int codigoProduto = 3;
      String categoria;
      switch (codigoProduto) {
          case 1:
          case 2:
          case 3:
              categoria = "Eletrônicos";
              break;
          case 4:
          case 5:
              categoria = "Roupas";
              break;
          case 6:
              categoria = "Alimentos";
              break;
          default:
              categoria = "Categoria não encontrada";
      }
      System.out.println("O produto pertence à categoria: " + categoria);
  }
}

Neste exemplo, se o codigoProduto for 3, 2 ou 1, a categoria será "Eletrônicos". Ou seja, vários casos podem ser usados para uma categoria.

Exemplo Prático 3: Manipulando Strings com Switch-Case

Além de variáveis numéricas, o switch-case também pode ser utilizado com strings a partir do Java 7. Veja um exemplo:

public class Main {
  public static void main(String[] args) {
      String diaSemana = "segunda";
      String mensagem;
      switch (diaSemana.toLowerCase()) {
          case "segunda":
              mensagem = "Dia útil";
              break;
          case "sábado":
          case "domingo":
              mensagem = "Fim de semana";
              break;
          default:
              mensagem = "Dia inválido";
      }
      System.out.println("Hoje é " + diaSemana + ", " + mensagem);
  }
}

Neste exemplo, a saída será "Hoje é segunda, Dia útil".

O switch case em Java funciona com valores múltiplos, mas esses valores devem ser de qualquer um desses tipos:

  • byte,
  • short,
  • int,
  • char,
  • Byte (classe wrapper),
  • Short (classe wrapper),
  • Integer (classe wrapper),
  • Character (classe wrapper),
  • valores de String, e
  • enum.

Considerações Finais

A estrutura switch-case é uma ferramenta valiosa para controlar o fluxo do programa com base no valor de uma expressão em Java. No entanto, é essencial lembrar de usar a instrução break adequadamente para evitar comportamentos inesperados. Além disso, o bloco default oferece uma maneira de lidar com valores que não correspondem a nenhum dos casos especificados.

Espero que esse artigo tenha te ajudado!

Compartilhe
Comentários (0)