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"
Défi
FacileCréez une méthode nommée getDayType qui prend deux arguments :
- Un entier (
day) représentant un jour de la semaine (1-7) - 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));
}
}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
1Tableaux multidimensionnels
Bases des tableaux 2DAccès aux éléments des tableaux 2DBoucles imbriquées avec les tableaux 2DRécapitulatif - Tableaux 2DAddition et soustraction de matricesTableaux irréguliersTableaux 3D et au-delàMotifs courants des tableaux 2DRécapitulatif - Tout sur les tableaux4HashSet Partie 1
Qu'est-ce qu'un HashSet ?Ajouter un ÉlémentSupprimer un ÉlémentVérifier si un Élément ExisteVide et TailleVider et ClonerRécapitulatif - HashSet7Gestion des erreurs de base
Bases du try-catchBloc finallyLever des exceptionsExceptions personnalisées2HashMap Partie 1
Qu'est-ce qu'une HashMap ?Déclarer une HashMapAccéder aux ValeursVérifier si une Clé ExisteModifier les DictionnairesRécapitulatif - HashMap3HashMap Partie 2
Méthodes HashMapItérer avec keySet()Itérer avec entrySet()HashMap imbriquéRécapitulatif - Gérer l'entrepôtRécapitulatif - Opérations HashMap6Flux de contrôle avancé
Instructions étiquetéesExpression switchAppariement de motifsClauses de gardeRécapitulatif - Flux de contrôle9Projet - Compteur de Mots Uniques
Entrée de Texte et StockageTraitement des Mots