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 case em Java

A palavra-chave case em Java é usada em uma instrução switch para definir um bloco de código que é executado quando a expressão switch corresponde a um valor específico. Cada rótulo case deve ser exclusivo dentro da instrução switch e é seguido por dois pontos.

Uso

A palavra-chave case é usada para lidar com várias condições de forma mais legível e eficiente do que vários comandos if-else. Isso é particularmente útil quando você precisa executar códigos diferentes com base no valor de uma variável.

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 avaliada uma vez no início da instrução switch.
  • value1, value2, etc.: Os valores constantes com os quais a expressão é comparada.
  • break: Encerra o bloco de casos atual para evitar a queda.
  • default: Opcional; é executado se não houver correspondência com case.

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 instrução switch avalia o valor de day. Como day é 3, o bloco de código para case 3 é executado, imprimindo "Wednesday" (quarta-feira).

Exemplo 2: Uso de strings no Switch

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

Este exemplo demonstra o uso de uma declaração switch com uma String. A instrução switch avalia o valor de fruit. Como fruit é "Apple", ele imprime "Apple is red" (A maçã é vermelha).

Exemplo 3: Comportamento de passagem

public class FallThroughExample {
    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");
        }
    }
}

Neste exemplo, a instrução switch avalia o valor de num. Como num é 2, ele imprime "Two" (Dois) e continua a executar "Three" (Três) porque não há nenhuma instrução break após case 2.

Exemplo 4: Declarações Switch aninhadas

public class NestedSwitchExample {
    public static void main(String[] args) {
        int outer = 1;
        int inner = 2;
        switch (outer) {
            case 1:
                switch (inner) {
                    case 1:
                        System.out.println("Inner 1");
                        break;
                    case 2:
                        System.out.println("Inner 2");
                        break;
                }
                break;
            case 2:
                System.out.println("Outer 2");
                break;
            default:
                System.out.println("Default Outer");
        }
    }
}

Este exemplo demonstra o uso de uma instrução switch aninhada. A instrução externa switch avalia o valor de outer, enquanto a instrução interna switch avalia o valor de inner.

Dicas e práticas recomendadas

  • Sempre use o site break: Use a instrução break para evitar o comportamento de fall-through, a menos que você o deseje explicitamente.
  • Caso padrão: Sempre inclua um caso default para lidar com valores inesperados.
  • Valores constantes: Certifique-se de que os rótulos case sejam constantes e exclusivos dentro da instrução switch.
  • Tipos de dados: as declarações switch podem ser usadas com os tipos byte, short, int, char, String e enum.
  • Simplifique o código: Use as declarações switch para simplificar o código que envolve várias condições, tornando-o mais legível e de fácil manutenção.
  • Evite null no Switch: Tenha cuidado com os valores de null nas expressões de switch para evitar NullPointerException.
switch (expression) {
    case constant1:
        // code block
        break;
    case constant2:
        // code block
        break;
    // more cases...
    default:
        // default code block
}

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