Menu
Coddy logo textTech

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"

challenge icon

Desafio

Fácil

Crie um método chamado getDayType que recebe dois argumentos:

  1. Um inteiro (day) representando um dia da semana (1-7)
  2. 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));
    }
}
quiz iconTeste seus conhecimentos

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