A palavra-chave switch
em Java é usada para definir uma estrutura de controle que seleciona um bloco de código para ser executado com base no valor de uma expressão. O switch
é útil para lidar com múltiplas condições quando você deseja comparar uma variável com diferentes valores constantes.
Sintaxe
switch (expressao) {
case valor1:
// Código a ser executado se expressao == valor1
break; // Opcional, encerra o bloco do case
case valor2:
// Código a ser executado se expressao == valor2
break; // Opcional, encerra o bloco do case
// Outros casos conforme necessário
default:
// Código a ser executado se nenhum dos casos for verdadeiro
}
Explicação dos Componentes
expressao
: Deve ser uma expressão que resulta em um valor do tipobyte
,short
,int
,char
,String
(a partir do Java 7), ou umenum
.case valor
: Cada blococase
compara o valor daexpressao
com um valor específico. Se houver correspondência, o bloco de código associado a essecase
será executado.break
: Termina a execução do blococase
. Se omitido, o fluxo continuará para o próximocase
(comportamento conhecido como fall-through).default
: Um bloco opcional que é executado se nenhum dos valores nos blocoscase
corresponder ao valor da expressão.
Posts recentes
Exemplos
Exemplo 1: Uso com int
public class ExemploSwitch {
public static void main(String[] args) {
int dia = 3;
switch (dia) {
case 1:
System.out.println("Domingo");
break;
case 2:
System.out.println("Segunda-feira");
break;
case 3:
System.out.println("Terça-feira");
break;
case 4:
System.out.println("Quarta-feira");
break;
case 5:
System.out.println("Quinta-feira");
break;
case 6:
System.out.println("Sexta-feira");
break;
case 7:
System.out.println("Sábado");
break;
default:
System.out.println("Dia inválido");
}
}
}
Exemplo 2: Uso com String
public class ExemploSwitchString {
public static void main(String[] args) {
String fruta = "Manga";
switch (fruta) {
case "Maçã":
System.out.println("A fruta é Maçã");
break;
case "Manga":
System.out.println("A fruta é Manga");
break;
case "Banana":
System.out.println("A fruta é Banana");
break;
default:
System.out.println("Fruta desconhecida");
}
}
}
Exemplo 3: Comportamento de Fall-Through
public class ExemploSwitchFallThrough {
public static void main(String[] args) {
int dia = 3;
switch (dia) {
case 1:
case 2:
case 3:
System.out.println("Início da semana");
break;
case 4:
case 5:
System.out.println("Meio da semana");
break;
case 6:
case 7:
System.out.println("Fim de semana");
break;
default:
System.out.println("Dia inválido");
}
}
}
Regras Importantes
- Tipagem: O tipo da expressão do
switch
deve ser compatível com os valores nos casos. A partir do Java 7, você pode usarString
como tipo para a expressão. - Fall-Through: Se você não usar o
break
, o código continuará a executar o próximo blococase
, independentemente de a condição do próximo bloco ser verdadeira ou não. default
: Não é obrigatório, mas é uma boa prática incluí-lo para tratar casos inesperados.
O switch
oferece uma forma mais limpa e eficiente de lidar com múltiplas condições baseadas em um único valor.