Expressão Switch
Parte da seção Lógica e Fluxo do Journey de Java da Coddy — lição 36 de 59.
A expressão switch é um recurso que permite escrever instruções switch mais concisas e retornar valores diretamente. Vamos ver como funciona.
Crie uma expressão switch básica que retorna um valor:
int number = 1;
String message = switch(number) {
case 1 -> "One";
case 2 -> "Two";
default -> "Other";
};Após executar o código acima, a variável message contém:
"One"
Você também pode tratar múltiplos casos juntos:
int day = 2;
String type = switch(day) {
case 1, 2, 3, 4, 5 -> "Weekday";
case 6, 7 -> "Weekend";
default -> "Invalid day";
};Após executar o código acima, a variável type contém:
"Weekday"
Desafio
FácilCrie um método chamado getDayType que recebe dois argumentos:
- Um inteiro (
day) representando um dia da semana (1-7) - Um booleano (
abbreviated) que determina o formato de retorno
O método deve usar uma expressão switch para retornar o tipo de dia:
- Para dias 1-5 (Segunda a Sexta-feira): retorne "WORKDAY" se não abreviado, ou "WKD" se abreviado
- Para dias 6-7 (Sábado e Domingo): retorne "WEEKEND" se não abreviado, ou "WKND" se abreviado
- Para qualquer outro número: retorne "INVALID" se não abreviado, ou "INV" se abreviado
Folha de consulta
As expressões switch permitem que você escreva instruções switch concisas que retornam valores diretamente usando a sintaxe da seta (->):
int number = 1;
String message = switch(number) {
case 1 -> "One";
case 2 -> "Two";
default -> "Other";
};Você pode lidar com múltiplos casos juntos separando-os com vírgulas:
int day = 2;
String type = switch(day) {
case 1, 2, 3, 4, 5 -> "Weekday";
case 6, 7 -> "Weekend";
default -> "Invalid day";
};Experimente você mesmo
import java.util.Scanner;
public class Main {
public static String getDayType(int day, boolean abbreviated) {
// Escreva seu código aqui
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int day = Integer.parseInt(scanner.nextLine());
boolean abbreviated = Boolean.parseBoolean(scanner.nextLine());
System.out.println(getDayType(day, abbreviated));
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica e Fluxo
1Arrays Multidimensionais
Básicos de Arrays 2DAcessando Elementos de Arrays 2DLoops Aninhados com Arrays 2DResumo - Arrays 2DAdição e Subtração de MatrizesArrays EscalonadosArrays 3D e AlémPadrões Comuns de Arrays 2DResumo - Tudo Sobre Arrays2HashMap Parte 1
O que é um HashMap?Declarar um HashMapAcessando ValoresVerificar se a Chave ExisteModificando DicionáriosResumo - HashMap3HashMap Parte 2
Métodos do HashMapIterar com keySet()Iterar com entrySet()HashMap AninhadoResumo - Gerenciar ArmazémResumo - Operações do HashMap6Fluxo de Controle Avançado
Declarações RotuladasExpressão SwitchCorrespondência de PadrõesCláusulas de GuardaResumo - Fluxo de Controle9Projeto - Contador de Palavras Únicas
Entrada e Armazenamento de TextoProcessamento de Palavras