
Lógica e Algoritmos com Java
17 - Estrutura de Escolha
A estrutura switch-case é uma alternativa ao uso de múltiplas estruturas if-else. Ela é utilizada quando temos várias opções a serem verificadas com base no valor de uma variável. O switch compara o valor da variável com os casos definidos e executa o bloco de código correspondente ao valor.
1. Sintaxe do Switch-Case
A sintaxe básica do switch é a seguinte:
switch (variável) {
case valor1:
// Bloco de código a ser executado se variável == valor1
break;
case valor2:
// Bloco de código a ser executado se variável == valor2
break;
default:
// Bloco de código a ser executado se nenhum dos casos for verdadeiro
}
A estrutura começa com a palavra-chave switch, seguida pela variável que será comparada. Dentro do switch, temos várias cláusulas case, cada uma representando um valor possível para a variável. O break é usado para interromper a execução do switch após um caso ser executado, garantindo que o código não continue verificando outros casos.
2. Exemplo Básico de Switch-Case
No exemplo abaixo, vamos usar o switch-case para imprimir o nome do dia da semana, com base em um número que representa o dia.
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");
}
}
}
Saída: Terça-feira
3. Exemplo com default
O default é utilizado para capturar qualquer valor que não tenha sido contemplado por um case. Ele funciona como uma cláusula "else" para o switch.
public class ExemploSwitchDefault {
public static void main(String[] args) {
int dia = 8; // Número inválido para o dia da semana
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");
}
}
}
Saída: Dia inválido
4. Exemplo de Switch-Case com String
A partir do Java 7, o switch pode ser usado também com a classe String, o que facilita a verificação de múltiplas opções baseadas em strings.
public class ExemploSwitchString {
public static void main(String[] args) {
String fruta = "maçã";
switch (fruta) {
case "banana":
System.out.println("Fruta amarela");
break;
case "maçã":
System.out.println("Fruta vermelha");
break;
case "laranja":
System.out.println("Fruta laranja");
break;
default:
System.out.println("Fruta desconhecida");
}
}
}
Saída: Fruta vermelha
5. Tabela de Sintaxe e Exemplos de Switch-Case
Componente | Descrição | Exemplo |
---|---|---|
switch | A palavra-chave que inicia a estrutura de escolha. | switch (variável) { ... } |
case | Usada para especificar os valores que serão comparados com a variável. | case 1: ... |
break | Usado para terminar a execução do switch após o caso ser executado. | break; |
default | Executado se nenhum dos casos for correspondente ao valor da variável. | default: ... |
6. Conclusão
A estrutura switch-case em Java é uma forma eficiente e legível de lidar com múltiplas condições. Ela é especialmente útil quando você precisa comparar o valor de uma variável com diferentes possibilidades. Ao usar o switch, você pode evitar o uso de múltiplos if-else, tornando o código mais organizado.