Cas à plusieurs étiquettes
Regrouper plusieurs étiquettes
Cas à plusieurs étiquettes est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 4 leçons au total.
Regrouper les étiquettes
Il est fréquent que plusieurs valeurs doivent déclencher la même action. La forme moderne de switch permet de répertorier plusieurs étiquettes dans un même cas, séparées par des virgules, et de leur associer une seule branche.
Étiquettes séparées par des virgules
Écrivez les valeurs les unes à la suite des autres, séparées par des virgules, avant ->. Si l'une d'elles correspond, la branche est exécutée.
public class Main {
public static void main(String[] args) {
int day = 7;
switch (day) {
case 1, 2, 3, 4, 5 -> System.out.println("Weekday");
case 6, 7 -> System.out.println("Weekend");
}
}
}Détection des voyelles
Un cas classique consiste à regrouper toutes les voyelles dans une seule branche au lieu d'écrire cinq cas distincts.
public class Main {
public static void main(String[] args) {
char c = 'o';
switch (c) {
case 'a', 'e', 'i', 'o', 'u' -> System.out.println("Vowel");
default -> System.out.println("Consonant");
}
}
}Plusieurs étiquettes dans les expressions
Les cas à plusieurs étiquettes fonctionnent également dans les expressions switch et renvoient la même valeur pour chacune des étiquettes indiquées.
public class Main {
public static void main(String[] args) {
int month = 7;
String season = switch (month) {
case 12, 1, 2 -> "Winter";
case 3, 4, 5 -> "Spring";
case 6, 7, 8 -> "Summer";
default -> "Autumn";
};
System.out.println(season);
}
}Regrouper des étiquettes de chaînes
Les valeurs de type chaîne peuvent également être regroupées. Ici, plusieurs écritures d'une commande sont associées à une seule action.
public class Main {
public static void main(String[] args) {
String cmd = "quit";
switch (cmd) {
case "quit", "exit", "q" -> System.out.println("Closing");
case "help", "h" -> System.out.println("Showing help");
default -> System.out.println("Unknown command");
}
}
}Regrouper des étiquettes d'énumération
Les constantes d'une énumération peuvent elles aussi partager une branche, ce qui rend la logique de catégorisation concise.
public class Main {
enum Day { MON, TUE, WED, THU, FRI, SAT, SUN }
public static void main(String[] args) {
Day d = Day.SAT;
String kind = switch (d) {
case SAT, SUN -> "Rest";
default -> "Work";
};
System.out.println(kind);
}
}Aucune étiquette en double
Chaque étiquette ne peut apparaître qu'une seule fois dans l'ensemble de switch. Répertorier la même valeur dans deux branches provoque une erreur de compilation, car le compilateur ne pourrait pas déterminer quelle branche exécuter.
public class Main {
public static void main(String[] args) {
int n = 2;
switch (n) {
case 1, 2 -> System.out.println("Low");
case 3, 4 -> System.out.println("High");
default -> System.out.println("Other");
}
}
}Comparaison avec l'ancien enchaînement automatique
Dans l'ancienne forme utilisant des deux-points, le regroupement exigeait d'empiler des cas vides dont l'exécution se poursuivait automatiquement jusqu'à un même bloc. La syntaxe avec des virgules est bien plus claire et évite les enchaînements automatiques accidentels.
public class Main {
public static void main(String[] args) {
int code = 3;
switch (code) {
case 1, 3, 5, 7, 9 -> System.out.println("Odd");
case 0, 2, 4, 6, 8 -> System.out.println("Even");
}
}
}Regrouper avec des blocs
Un cas regroupé peut également utiliser un bloc. Chacune des étiquettes correspondantes exécute le bloc entier.
public class Main {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A', 'B' -> {
System.out.println("Pass");
System.out.println("Well done");
}
default -> System.out.println("Try again");
}
}
}Combiner avec yield
Les étiquettes regroupées et yield fonctionnent ensemble lorsqu'une branche commune nécessite un calcul.
public class Main {
public static void main(String[] args) {
int n = 4;
int points = switch (n) {
case 1, 2, 3 -> 10;
case 4, 5, 6 -> {
int bonus = n * 2;
yield 20 + bonus;
}
default -> 0;
};
System.out.println(points);
}
}Un gain de lisibilité
Les cas à plusieurs étiquettes remplacent de longues listes de branches répétitives par quelques groupes clairs, ce qui rend l'intention évidente au premier coup d'œil.
public class Main {
public static void main(String[] args) {
int http = 204;
String group = switch (http / 100) {
case 1, 2, 3 -> "OK-ish";
case 4, 5 -> "Error";
default -> "Unknown";
};
System.out.println(group);
}
}Vérification rapide
Comment faire exécuter la même branche de switch par plusieurs valeurs dans Java moderne ?
Récapitulatif
Vous avez appris les cas à plusieurs étiquettes :
- Répertorier les valeurs séparées par des virgules avant
-> - Fonctionnent avec les entiers, les caractères, les chaînes et les énumérations
- Aucun enchaînement automatique accidentel, contrairement à l'ancienne forme
- Chaque étiquette ne peut apparaître qu'une seule fois
- Combiner avec des blocs et
yieldlorsque nécessaire
Questions Fréquemment Posées
La leçon « Cas à plusieurs étiquettes » est-elle gratuite ?
Oui — le texte complet de « Cas à plusieurs étiquettes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Cas à plusieurs étiquettes » ?
Regrouper plusieurs étiquettes Tu pratiques Java Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Java Academy ?
Aucune expérience préalable n'est requise. Java Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Cas à plusieurs étiquettes » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Java Academy ?
Oui. Chaque leçon Java Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- switch en forme de flèche
- switch comme expression
- Le mot-clé yield
- Cas à plusieurs étiquettes