📝 Ce que vous apprendrez

  • Comment fonctionne l'instruction switch ?
  • Quand utiliser switch plutôt que if-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 switch ne supporte pas (par exemple, les objets complexes)
  • Placer default en 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 variableVous avez besoin de conditions complexes
Vous comparez avec des constantes Vous utilisez des opérateurs relationnels
Vous voulez une structure plus propreVous avez besoin de plages ou de logique

📘 Recap

  • switch est un moyen propre de tester une variable contre plusieurs valeurs
  • Utiliser case, break, et default
  • 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.