Pular para o conteúdo principal
Documentos
Palavras-chave JavaMatrizes JavaProgramação orientada a objetos em JavaManuseio de arquivos JavaIntrodução ao JavaNoções básicas da linguagem Java

Declaração de troca de Java

A instrução switch em Java é uma instrução de fluxo de controle que permite a execução de um bloco de código entre várias alternativas. Ele oferece uma maneira mais legível e eficiente de escrever uma série de instruções if-else ao comparar a mesma expressão com valores diferentes.

Uso

O comando switch avalia uma expressão, compara o valor da expressão com uma série de rótulos case e executa o bloco de código associado à correspondência case. Se não houver correspondência com case, o bloco default será executado, se estiver presente.

Sintaxe

switch (expression) {
    case value1:
        // code block
        break;
    case value2:
        // code block
        break;
    // more cases...
    default:
        // default code block
}
  • expressão: Uma variável ou expressão que é avaliada uma vez.
  • valor1, valor2, ...: Expressões constantes com as quais o expression é comparado.
  • intervalo: Termina o bloco switch. Sem isso, a execução é transferida para casos subsequentes.
  • padrão: Bloco opcional executado se não houver correspondência com case.

Exemplos

Exemplo 1: Básico switch Declaração

public class SwitchExample {
    public static void main(String[] args) {
        int number = 2;
        switch (number) {
            case 1:
                System.out.println("One");
                break;
            case 2:
                System.out.println("Two");
                break;
            case 3:
                System.out.println("Three");
                break;
            default:
                System.out.println("Not in range");
        }
    }
}

Neste exemplo, a instrução switch avalia a variável number. Como number é igual a 2, o resultado será "Two" (dois). A declaração break evita que você passe para casos subsequentes.

Exemplo 2: switch com cordas

public class SwitchStringExample {
    public static void main(String[] args) {
        String fruit = "Apple";
        switch (fruit) {
            case "Apple":
                System.out.println("Fruit is Apple");
                break;
            case "Banana":
                System.out.println("Fruit is Banana");
                break;
            default:
                System.out.println("Unknown fruit");
        }
    }
}

Este exemplo demonstra o uso de uma declaração switch com uma String. O switch verifica o valor de fruit e, como ele é "Apple", o resultado será "Fruit is Apple".

Exemplo 3: switch sem break

public class SwitchFallThroughExample {
    public static void main(String[] args) {
        int day = 3;
        switch (day) {
            case 1:
            case 2:
            case 3:
                System.out.println("Weekday");
                break;
            case 4:
            case 5:
                System.out.println("Weekend");
                break;
            default:
                System.out.println("Invalid day");
        }
    }
}

Neste exemplo, vários rótulos case são usados para executar o mesmo bloco de código. O resultado será "Dia da semana" porque day é 3 e a instrução break impede que a execução passe para os casos de "Fim de semana".

Dicas e práticas recomendadas

  • Use break Statements: Sempre inclua as declarações do site break, a menos que você deseje um fall-through intencional. Isso evita a execução não intencional de casos subsequentes.
  • Caso padrão: Inclua um caso default para lidar com valores inesperados e melhorar a robustez do código.
  • Tipos de expressão: A expressão switch pode ser do tipo byte, short, int, char, String, ou um enum.
  • Evite a lógica complexa: Use o site switch para cenários simples com valores discretos. Para condições complexas, considere o uso de declarações if-else.
  • Aprimoramentos do Java 12+: No Java 12 e posteriores, as expressões switch permitem retornar valores e usar a palavra-chave yield para um código mais conciso.

Learn Java Essentials

Desenvolva suas habilidades em Java desde o início e domine os conceitos de programação.
Comece a aprender de graça