0Pricing
Java Academy · Aula

switch no Estilo de Seta

Use a sintaxe moderna de seta de switch

switch no Estilo de Seta é uma aula grátis de Java Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Java Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Java Academy inclui 4 aulas no total.

O problema da antiga instrução por casos

A instrução clássica switch do Java usava rótulos com dois-pontos e exigia break após cada caso. Esquecer break causava erros de queda para o caso seguinte, nos quais a execução passava para o caso seguinte.

O Java moderno (14+) introduz a sintaxe de seta, que corrige isso completamente.

Noções básicas da sintaxe de seta

Com switch no estilo de seta, cada rótulo usa -> em vez de :. Não há queda para o caso seguinte nem necessidade de break. Cada ramo executa apenas o próprio código.

public class Main {
    public static void main(String[] args) {
        int day = 3;
        switch (day) {
            case 1 -> System.out.println("Monday");
            case 3 -> System.out.println("Wednesday");
            default -> System.out.println("Other day");
        }
    }
}

Sem mais interrupções

No estilo antigo, era necessário escrever break; após cada caso. A forma com seta elimina completamente essa obrigação. Apenas o ramo correspondente é executado.

public class Main {
    public static void main(String[] args) {
        char grade = 'B';
        switch (grade) {
            case 'A' -> System.out.println("Excellent");
            case 'B' -> System.out.println("Good");
            case 'C' -> System.out.println("Average");
            default -> System.out.println("Needs work");
        }
    }
}

Corpos de bloco

Quando um ramo precisa de mais de uma instrução, coloque-o entre chaves { }. O bloco pode conter qualquer quantidade de instruções.

public class Main {
    public static void main(String[] args) {
        int code = 2;
        switch (code) {
            case 2 -> {
                System.out.println("Processing code 2");
                System.out.println("Done");
            }
            default -> System.out.println("Unknown");
        }
    }
}

Selecionando valores String

O switch com seta funciona com valores String assim como o estilo antigo. As comparações usam equals internamente, portanto diferenciam maiúsculas de minúsculas.

public class Main {
    public static void main(String[] args) {
        String fruit = "apple";
        switch (fruit) {
            case "apple" -> System.out.println("Red or green");
            case "banana" -> System.out.println("Yellow");
            default -> System.out.println("Unknown fruit");
        }
    }
}

O ramo padrão

O ramo default trata qualquer valor que não seja coberto pelos outros casos. É uma boa prática sempre incluir um, para que entradas inesperadas sejam tratadas adequadamente.

public class Main {
    public static void main(String[] args) {
        int level = 99;
        switch (level) {
            case 1 -> System.out.println("Beginner");
            case 2 -> System.out.println("Intermediate");
            default -> System.out.println("Unknown level: " + level);
        }
    }
}

Selecionando enumerações

O switch com seta combina perfeitamente com tipos enum. Você pode omitir o prefixo do nome da enumeração em cada rótulo, mantendo os ramos curtos e organizados.

public class Main {
    enum Color { RED, GREEN, BLUE }
    public static void main(String[] args) {
        Color c = Color.GREEN;
        switch (c) {
            case RED -> System.out.println("Stop");
            case GREEN -> System.out.println("Go");
            case BLUE -> System.out.println("Calm");
        }
    }
}

Chamando métodos nos ramos

Cada ramo de seta pode chamar qualquer método. Isso mantém o switch legível, delegando o trabalho real a outras partes do código.

public class Main {
    static void greet(String who) {
        System.out.println("Hello, " + who);
    }
    public static void main(String[] args) {
        int who = 1;
        switch (who) {
            case 1 -> greet("Alice");
            case 2 -> greet("Bob");
            default -> greet("Stranger");
        }
    }
}

Mais claro do que condicionais encadeadas

O switch com seta frequentemente substitui longas cadeias de condicionais if-else. Ao comparar uma variável com muitos valores fixos, switch fica mais claro de ler.

public class Main {
    public static void main(String[] args) {
        int month = 4;
        switch (month) {
            case 12, 1, 2 -> System.out.println("Winter");
            case 3, 4, 5 -> System.out.println("Spring");
            case 6, 7, 8 -> System.out.println("Summer");
            default -> System.out.println("Autumn");
        }
    }
}

Somente efeitos colaterais

Uma instrução switch (a forma com seta usada aqui) executa ações, mas não produz um valor. Para retornar um valor, você usa uma expressão switch, apresentada na próxima lição.

public class Main {
    public static void main(String[] args) {
        int n = 5;
        switch (n % 2) {
            case 0 -> System.out.println(n + " is even");
            case 1 -> System.out.println(n + " is odd");
        }
    }
}

Vários valores, um ramo

Vários valores podem compartilhar um ramo quando separados por vírgulas. Esta é uma introdução aos casos com vários rótulos, abordados mais adiante.

public class Main {
    public static void main(String[] args) {
        char c = 'e';
        switch (c) {
            case 'a', 'e', 'i', 'o', 'u' -> System.out.println("Vowel");
            default -> System.out.println("Consonant");
        }
    }
}

Verificação rápida

Qual é a principal vantagem do switch no estilo de seta em relação ao estilo antigo com dois-pontos?

Recapitulação

Você aprendeu a sintaxe moderna de switch com seta:

  • Use -> em vez de :
  • Não há queda para o caso seguinte nem necessidade de break
  • Use chaves { } para ramos com várias instruções
  • Separe os rótulos por vírgulas para compartilhar um ramo
  • Sempre inclua um ramo default

Perguntas Frequentes

A aula “switch no Estilo de Seta” é grátis?

Sim — o texto completo de “switch no Estilo de Seta” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Java Academy, atualize para CoddyKit PRO. O curso de Java Academy inclui 4 aulas no total.

O que vou aprender em “switch no Estilo de Seta”?

Use a sintaxe moderna de seta de switch Você pratica Java Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Java Academy?

Nenhuma experiência prévia é necessária. Java Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “switch no Estilo de Seta”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Java Academy?

Sim. Cada aula de Java Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. switch no Estilo de Seta
  2. switch como Expressão
  3. A Palavra-chave yield
  4. Casos com Vários Rótulos
← Voltar para Java Academy