0Pricing
Java Academy · Leçon

switch en forme de flèche

Utiliser la syntaxe moderne de switch avec une flèche

switch en forme de flèche est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.

Le problème de l'ancienne instruction de sélection

L'instruction Java classique switch utilisait des étiquettes séparées par des deux-points et exigeait break après chaque cas. Oublier break provoquait des bogues d'enchaînement automatique, où l'exécution passait au cas suivant.

Java moderne (14 et versions ultérieures) introduit la syntaxe fléchée, qui corrige entièrement ce problème.

Bases de la syntaxe fléchée

Avec switch en syntaxe fléchée, chaque étiquette utilise -> au lieu de :. Il n'y a aucun enchaînement automatique et aucun besoin de break. Chaque branche n'exécute que son propre code.

public class Main {
    public static void main(String[] args) {
        int day = 3;
        switch (day) {
            case 1 -> System.out.println("Monday");
            case 3 -> System.out.println("Wednesday");
            default -> System.out.println("Other day");
        }
    }
}

Plus de break

Dans l'ancienne forme, vous deviez écrire break; après chaque cas. La forme fléchée supprime complètement cette contrainte. Seule la branche correspondante est exécutée.

public class Main {
    public static void main(String[] args) {
        char grade = 'B';
        switch (grade) {
            case 'A' -> System.out.println("Excellent");
            case 'B' -> System.out.println("Good");
            case 'C' -> System.out.println("Average");
            default -> System.out.println("Needs work");
        }
    }
}

Blocs d'instructions

Lorsqu'une branche nécessite plusieurs instructions, placez-les entre accolades { }. Le bloc peut contenir autant d'instructions que nécessaire.

public class Main {
    public static void main(String[] args) {
        int code = 2;
        switch (code) {
            case 2 -> {
                System.out.println("Processing code 2");
                System.out.println("Done");
            }
            default -> System.out.println("Unknown");
        }
    }
}

Sélection selon des chaînes

La forme fléchée de switch fonctionne avec des valeurs String, tout comme l'ancienne forme. Les comparaisons utilisent equals en interne et tiennent donc compte de la casse.

public class Main {
    public static void main(String[] args) {
        String fruit = "apple";
        switch (fruit) {
            case "apple" -> System.out.println("Red or green");
            case "banana" -> System.out.println("Yellow");
            default -> System.out.println("Unknown fruit");
        }
    }
}

La branche par défaut

La branche default traite toute valeur qui n'est couverte par aucun autre cas. Il est recommandé d'en inclure toujours une afin de gérer correctement les entrées inattendues.

public class Main {
    public static void main(String[] args) {
        int level = 99;
        switch (level) {
            case 1 -> System.out.println("Beginner");
            case 2 -> System.out.println("Intermediate");
            default -> System.out.println("Unknown level: " + level);
        }
    }
}

Sélection selon des énumérations

La forme fléchée de switch s'associe parfaitement aux types enum. Vous pouvez omettre le préfixe du nom de l'énération dans chaque étiquette, ce qui rend les branches courtes et claires.

public class Main {
    enum Color { RED, GREEN, BLUE }
    public static void main(String[] args) {
        Color c = Color.GREEN;
        switch (c) {
            case RED -> System.out.println("Stop");
            case GREEN -> System.out.println("Go");
            case BLUE -> System.out.println("Calm");
        }
    }
}

Appeler des méthodes dans les branches

Chaque branche fléchée peut appeler n'importe quelle méthode. Cela permet de garder switch lisible tout en déléguant le travail réel ailleurs.

public class Main {
    static void greet(String who) {
        System.out.println("Hello, " + who);
    }
    public static void main(String[] args) {
        int who = 1;
        switch (who) {
            case 1 -> greet("Alice");
            case 2 -> greet("Bob");
            default -> greet("Stranger");
        }
    }
}

Plus clair que if-else

La forme fléchée de switch remplace souvent les longues chaînes de if-else. Lorsque vous comparez une variable à plusieurs valeurs fixes, switch est plus clair à lire.

public class Main {
    public static void main(String[] args) {
        int month = 4;
        switch (month) {
            case 12, 1, 2 -> System.out.println("Winter");
            case 3, 4, 5 -> System.out.println("Spring");
            case 6, 7, 8 -> System.out.println("Summer");
            default -> System.out.println("Autumn");
        }
    }
}

Uniquement des effets de bord

Une instruction switch (c'est la forme fléchée utilisée ici) effectue des actions, mais ne produit aucune valeur. Pour renvoyer une valeur, vous utilisez une expression switch, présentée dans la leçon suivante.

public class Main {
    public static void main(String[] args) {
        int n = 5;
        switch (n % 2) {
            case 0 -> System.out.println(n + " is even");
            case 1 -> System.out.println(n + " is odd");
        }
    }
}

Plusieurs valeurs, une seule branche

Plusieurs valeurs peuvent partager une branche en les séparant par des virgules. Il s'agit d'un aperçu des cas à plusieurs étiquettes, qui seront présentés plus loin.

public class Main {
    public static void main(String[] args) {
        char c = 'e';
        switch (c) {
            case 'a', 'e', 'i', 'o', 'u' -> System.out.println("Vowel");
            default -> System.out.println("Consonant");
        }
    }
}

Vérification rapide

Quel est le principal avantage de la forme fléchée de switch par rapport à l'ancienne forme utilisant des deux-points ?

Récapitulatif

Vous avez appris la syntaxe moderne fléchée de switch :

  • Utiliser -> au lieu de :
  • Aucun enchaînement automatique et aucun break nécessaire
  • Utiliser des accolades { } pour les branches contenant plusieurs instructions
  • Séparer les étiquettes par des virgules pour partager une branche
  • Toujours inclure une branche default

Questions Fréquemment Posées

La leçon « switch en forme de flèche » est-elle gratuite ?

Oui — le texte complet de « switch en forme de flèche » 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 « switch en forme de flèche » ?

Utiliser la syntaxe moderne de switch avec une flèche 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 1 sur 4.

Combien de temps prend la leçon « switch en forme de flèche » ?

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

  1. switch en forme de flèche
  2. switch comme expression
  3. Le mot-clé yield
  4. Cas à plusieurs étiquettes
← Retour à Java Academy