Switch


đŸŽ›ïž Les instructions switch en Java

L’instruction switch permet de tester la valeur d’une variable et d’exĂ©cuter diffĂ©rents blocs de code selon son contenu exact.

C’est une alternative plus claire aux chaĂźnes de if...else if quand on compare une mĂȘme variable Ă  plusieurs valeurs possibles.


🧰 Syntaxe de base

switch (variable) {
    case valeur1:
        // Code si variable == valeur1
        break;

    case valeur2:
        // Code si variable == valeur2
        break;

    default:
        // Code si aucune des valeurs ne correspond
}

đŸ§± ÉlĂ©ments clĂ©s :

Mot-cléRÎle
caseSpécifie une valeur à tester
breakTermine le switch, Ă©vite les “chutes”
default(optionnel) Bloc exécuté par défaut

📩 Exemple simple

int jour = 3;

switch (jour) {
    case 1:
        System.out.println("Lundi");
        break;
    case 2:
        System.out.println("Mardi");
        break;
    case 3:
        System.out.println("Mercredi");
        break;
    default:
        System.out.println("Jour inconnu");
}

âžĄïž Affichera : Mercredi


⚠ Le break est important !

Sans le break, le programme continue dans les cases suivantes, mĂȘme si elles ne correspondent pas :

int x = 2;

switch (x) {
    case 1:
        System.out.println("Un");
    case 2:
        System.out.println("Deux");
    case 3:
        System.out.println("Trois");
}

âžĄïž Affichera :

Deux  
Trois

🧠 Le bloc default

Le mot-clé default permet de gérer les cas non prévus :

char lettre = 'z';

switch (lettre) {
    case 'a':
        System.out.println("Voyelle A");
        break;
    case 'e':
        System.out.println("Voyelle E");
        break;
    default:
        System.out.println("Autre lettre");
}

🔁 CompatibilitĂ© du switch

En Java, tu peux utiliser switch avec les types suivants :

Type autoriséExemples
int, short, byte, charswitch (entier)
String (depuis Java 7)switch (nom)
enumswitch (couleur)

❌ Pas compatible avec float, double, boolean, ni avec des expressions complexes.


đŸ”„ À retenir

  • switch est pratique pour tester des cas prĂ©cis.
  • Utilise break pour Ă©viter les exĂ©cutions non dĂ©sirĂ©es.
  • Le bloc default est optionnel mais utile.
  • Compatible avec int, char, String, enum, etc.
  • Plus lisible que plusieurs else if quand on compare la mĂȘme variable.

đŸ”č Exercice 1 : Jour de la semaine

Crée une variable int jour, puis utilise une instruction switch pour afficher le nom du jour correspondant :

  • 1 → "Lundi"
  • 2 → "Mardi"
  • 3 → "Mercredi"
  • Autre → "Jour inconnu"
public class Exo1 {
    public static void main(String[] args) {
        // Déclaration du jour
        

        // Switch selon le jour
       
    }
}

Sortie attendue (si jour = 2)

Mardi

đŸ”č Exercice 2 : Type de boisson

Crée une variable String choix, qui peut valoir "café", "thé" ou "jus". Utilise switch pour afficher :

  • "Vous avez choisi du cafĂ©"
  • "Vous avez choisi du thĂ©"
  • "Vous avez choisi du jus"
  • Sinon : "Boisson inconnue"
public class Exo2 {
    public static void main(String[] args) {
        // Déclaration de la boisson
        

        // Switch sur le choix
       
    }
}

Sortie attendue (si choix = "thé")

Vous avez choisi du thé

đŸ”č Exercice 3 : Note en lettre

CrĂ©e une variable char note qui peut ĂȘtre 'A', 'B', 'C' ou une autre lettre. Utilise switch pour afficher :

  • 'A' → "Excellent"
  • 'B' → "TrĂšs bien"
  • 'C' → "Bien"
  • Autre → "Note invalide"
public class Exo3 {
    public static void main(String[] args) {
        // Déclaration de la note
        

        // Switch sur la note
       
    }
}

Sortie attendue (si note = 'B')

TrĂšs bien