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

palavra-chave switch em Java

A palavra-chave switch em Java é usada para executar um bloco de código entre várias alternativas. É uma instrução de controle que permite que a variável seja testada quanto à igualdade em relação a uma lista de valores, cada um com seu próprio bloco de código.

Uso

A instrução switch oferece uma maneira mais limpa e legível de lidar com várias ramificações condicionais em comparação com o uso de várias instruções if-else.

Sintaxe

switch (expression) {
    case value1:
        // code block
        break;
    case value2:
        // code block
        break;
    // more cases...
    default:
        // default code block
}
  • expression: A variável ou expressão cujo valor é comparado com os valores de caso.
  • case value: Um valor constante com o qual a expressão é comparada. Se forem iguais, o bloco de código correspondente será executado.
  • break: Termina a declaração switch, evitando que você caia.
  • default: É executado se nenhum valor de case corresponder à expressão.

Exemplos

Exemplo 1: Uso básico

public class SwitchExample {
    public static void main(String[] args) {
        int day = 3;
        switch (day) {
            case 1:
                System.out.println("Monday");
                break;
            case 2:
                System.out.println("Tuesday");
                break;
            case 3:
                System.out.println("Wednesday");
                break;
            case 4:
                System.out.println("Thursday");
                break;
            case 5:
                System.out.println("Friday");
                break;
            case 6:
                System.out.println("Saturday");
                break;
            case 7:
                System.out.println("Sunday");
                break;
            default:
                System.out.println("Invalid day");
        }
    }
}

Neste exemplo, a variável day é comparada com os valores dos casos. Como day é 3, o resultado será "Wednesday" (quarta-feira).

Exemplo 2: Usando strings

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;
            case "Cherry":
                System.out.println("Fruit is Cherry");
                break;
            default:
                System.out.println("Unknown fruit");
        }
    }
}

Este exemplo demonstra como você pode usar uma declaração switch com valores String. Como fruit é "Apple", o resultado será "Fruit is Apple".

Exemplo 3: Comportamento de passagem

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

Neste exemplo, a ausência de declarações break resulta em um comportamento de queda. Como num é 2, o resultado será:

Two
Three
Default case

Dicas e práticas recomendadas

  • Use break Statements: Sempre use as declarações do site break para evitar a queda, a menos que você deseje explicitamente.
  • Caso padrão: Inclua um caso default para lidar com valores inesperados.
  • Valores constantes: Certifique-se de que os valores de caso sejam constantes ou literais.
  • Compatibilidade de tipo: A expressão switch pode ser dos tipos byte, short, char, int, String, ou um tipo de enum. Certifique-se de que os valores de caso sejam compatíveis com o tipo da expressão.
  • Código legível: Use os comandos switch para tornar seu código mais legível e de fácil manutenção em comparação com vários comandos if-else.
  • Aprimoramentos do Java 12: A partir do Java 12, você pode usar expressões switch para retornar valores diretamente dos casos, simplificando a sintaxe e melhorando a legibilidade do código.
enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

public class SwitchEnumExample {
    public static void main(String[] args) {
        Day day = Day.WEDNESDAY;
        switch (day) {
            case MONDAY:
                System.out.println("Monday");
                break;
            case TUESDAY:
                System.out.println("Tuesday");
                break;
            case WEDNESDAY:
                System.out.println("Wednesday");
                break;
            case THURSDAY:
                System.out.println("Thursday");
                break;
            case FRIDAY:
                System.out.println("Friday");
                break;
            case SATURDAY:
                System.out.println("Saturday");
                break;
            case SUNDAY:
                System.out.println("Sunday");
                break;
        }
    }
}

O uso de enums nas instruções switch pode melhorar a legibilidade do código e a segurança do tipo.

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