Menu
Coddy logo textTech

Expression switch

Fait partie de la section Logique & Flux du Journey Java de Coddy — leçon 36 sur 59.

Le switch expression est une fonctionnalité qui vous permet d'écrire des instructions switch plus concises et de retourner des valeurs directement. Voyons comment cela fonctionne.

Créez une expression switch de base qui retourne une valeur :

int number = 1;
String message = switch(number) {
   case 1 -> "One";
   case 2 -> "Two";
   default -> "Other";
};

Après l'exécution du code ci-dessus, la variable message contient :

"One"

Vous pouvez également gérer plusieurs cas ensemble :

int day = 2;
String type = switch(day) {
   case 1, 2, 3, 4, 5 -> "Weekday";
   case 6, 7 -> "Weekend";
   default -> "Invalid day";
};

Après l'exécution du code ci-dessus, la variable type contient :

"Weekday"

challenge icon

Défi

Facile

Créez une méthode nommée getDayType qui prend deux arguments :

  1. Un entier (day) représentant un jour de la semaine (1-7)
  2. Un booléen (abbreviated) qui détermine le format de retour

La méthode doit utiliser une expression switch pour retourner le type de jour :

  • Pour les jours 1-5 (lundi au vendredi) : retourner "WORKDAY" si non abrégé, ou "WKD" si abrégé
  • Pour les jours 6-7 (samedi et dimanche) : retourner "WEEKEND" si non abrégé, ou "WKND" si abrégé
  • Pour tout autre nombre : retourner "INVALID" si non abrégé, ou "INV" si abrégé

Aide-mémoire

Les expressions switch vous permettent d'écrire des instructions switch concises qui retournent des valeurs directement en utilisant la syntaxe de flèche (->):

int number = 1;
String message = switch(number) {
   case 1 -> "One";
   case 2 -> "Two";
   default -> "Other";
};

Vous pouvez gérer plusieurs cas ensemble en les séparant par des virgules :

int day = 2;
String type = switch(day) {
   case 1, 2, 3, 4, 5 -> "Weekday";
   case 6, 7 -> "Weekend";
   default -> "Invalid day";
};

Essayez vous-même

import java.util.Scanner;

public class Main {
    public static String getDayType(int day, boolean abbreviated) {
        // Écrivez votre code ici
    }
    
    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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux