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.