📝 Ce que vous apprendrez
- Comment fonctionne l'instruction
switch? - Quand utiliser
switchplutôt queif-else? - Mots clés
case,break, `default - Commutateur amélioré (Java 14+)
- Cas d'utilisation et erreurs courantes
🧠 Qu'est-ce qu'une déclaration de commutation ?
Un switch vous permet de comparer une seule variable à plusieurs valeurs possibles - et d'exécuter un code différent pour chaque cas.
C'est une alternative élégante aux longues chaînes de "if-else if".
🔧 Syntaxe de base
switch (expression) {
case value1:
// code
break;
case value2:
// code
break;
default:
// code
}
✅ Exemple : Jour de la semaine
int day = 3;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Unknown day");
}
Sans
break, Java passe au cas suivant.
🔁 Plusieurs cas ensemble
int month = 4;
switch (month) {
case 3: case 4: case 5:
System.out.println("Spring");
break;
case 6: case 7: case 8:
System.out.println("Summer");
break;
}
🚀 Enhanced Switch (Java 14+)
Une syntaxe plus courte et plus propre :
int day = 2;
String dayName = switch (day) {
case 1 -> "Monday";
case 2 -> "Tuesday";
case 3 -> "Wednesday";
default -> "Invalid day";
};
System.out.println(dayName);
➡️ Pas besoin de break, il suffit d'utiliser ->.
⚠️ Erreurs courantes
- Oublier
break(dans la syntaxe classique) - Utilisation de types que
switchne supporte pas (par exemple, les objets complexes) - Placer
defaulten haut (cela fonctionne, mais n'est pas recommandé pour des raisons de clarté)
💡 Quand utiliser switch vs if
Utiliser switch lorsque... |
Utiliser si lorsque... |
|---|---|
| Vous vérifiez une variable | .Vous avez besoin de conditions complexes | .
| Vous comparez avec des constantes | Vous utilisez des opérateurs relationnels | .
| Vous voulez une structure plus propre | .Vous avez besoin de plages ou de logique | .
📘 Recap
switchest un moyen propre de tester une variable contre plusieurs valeurs- Utiliser
case,break, etdefault - Java 14+ permet une syntaxe moderne, basée sur les expressions.
- Idéal pour les menus, les énumérations, les chèques jour/mois, etc.