Switch em java

A estrutura switch em Java é uma maneira eficiente de lidar com múltiplas condições que são baseadas no valor de uma expressão. É frequentemente usada como uma alternativa mais limpa e legível ao uso de várias instruções if-else quando se tem várias condições para testar.

Estrutura Básica do switch em java

A estrutura básica do switch é:

switch (expressão) {
    case valor1:
        // Bloco de código para valor1
        break;
    case valor2:
        // Bloco de código para valor2
        break;
    // Outros casos...
    default:
        // Bloco de código para quando nenhum caso é correspondente
        break;
}

Componentes do switch em java

  1. Expressão: O valor a ser avaliado, que pode ser um tipo primitivo (int, char, byte, short) ou uma String (a partir do Java 7).
  2. Cases: Cada case representa uma possível correspondência para a expressão. Se a expressão corresponder ao valor do case, o bloco de código correspondente será executado.
  3. Break: A instrução break é usada para sair do switch e evitar a execução de outros blocos de código subsequentes. Se break não for incluído, o fluxo de controle continuará para o próximo case até encontrar um break ou terminar o switch.
  4. Default: O bloco default é opcional e será executado se nenhum dos valores especificados nos case corresponder à expressão. É uma boa prática incluir um bloco default para lidar com casos inesperados.

Exemplo de Uso

Aqui está um exemplo básico de um switch que verifica o dia da semana com base em um número:

public class ExemploSwitch {
    public static void main(String[] args) {
        int dia = 3; // Representa quarta-feira

        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");
                break;
        }
    }
}

Switch com String

A partir do Java 7, o switch também pode ser usado com o tipo String.

Exemplo:

public class ExemploSwitchString {
    public static void main(String[] args) {
        String diaDaSemana = "quarta";

        switch (diaDaSemana) {
            case "segunda":
                System.out.println("Segunda-feira");
                break;
            case "terça":
                System.out.println("Terça-feira");
                break;
            case "quarta":
                System.out.println("Quarta-feira");
                break;
            case "quinta":
                System.out.println("Quinta-feira");
                break;
            case "sexta":
                System.out.println("Sexta-feira");
                break;
            case "sábado":
                System.out.println("Sábado");
                break;
            case "domingo":
                System.out.println("Domingo");
                break;
            default:
                System.out.println("Dia inválido");
                break;
        }
    }
}

Switch com múltiplos valores

Em Java 12, você pode usar o switch com múltiplos valores e expressões usando o novo recurso de switch expressions.

Exemplo:

public class ExemploSwitchExpression {
    public static void main(String[] args) {
        int dia = 3;

        String diaDaSemana = switch (dia) {
            case 1, 7 -> "Domingo";
            case 2 -> "Segunda-feira";
            case 3 -> "Terça-feira";
            case 4 -> "Quarta-feira";
            case 5 -> "Quinta-feira";
            case 6 -> "Sexta-feira";
            default -> "Dia inválido";
        };

        System.out.println(diaDaSemana);
    }
}

Considerações Finais

  • O switch é ideal para múltiplos testes de valores discretos e pode tornar o código mais legível do que uma longa sequência de if-else.
  • Lembre-se de incluir a instrução break para evitar a execução do código em casos subsequentes, a menos que você queira executar o código de vários case consecutivos.
  • O bloco default é opcional, mas é uma boa prática incluí-lo para lidar com valores inesperados.

Se precisar de mais detalhes ou tiver outras perguntas sobre o switch, estou à disposição!