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!