Accéder au contenu principal
Documents
Tableaux JavaProgrammation orientée objet en JavaTraitement des fichiers en JavaIntroduction To JavaLes bases du langage JavaMots-clés Java

mot-clé switch en Java

Le mot-clé switch en Java est utilisé pour exécuter un bloc de code parmi plusieurs possibilités. Il s'agit d'une instruction de contrôle qui permet de tester l'égalité de la variable par rapport à une liste de valeurs, chacune ayant son propre bloc de code.

Utilisation

L'instruction switch constitue un moyen plus propre et plus lisible de gérer plusieurs branchements conditionnels que l'utilisation de plusieurs instructions if-else.

Syntax

switch (expression) {
    case value1:
        // code block
        break;
    case value2:
        // code block
        break;
    // more cases...
    default:
        // default code block
}
  • expression: La variable ou l'expression dont la valeur est comparée aux valeurs des cas.
  • case value: Valeur constante à laquelle l'expression est comparée. S'ils correspondent, le bloc de code correspondant est exécuté.
  • break: Termine la déclaration switch, évitant ainsi les retombées.
  • default: S'exécute si aucune valeur de cas ne correspond à l'expression.

Exemples

Exemple 1 : Utilisation de base

public class SwitchExample {
    public static void main(String[] args) {
        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;
            case 4:
                System.out.println("Thursday");
                break;
            case 5:
                System.out.println("Friday");
                break;
            case 6:
                System.out.println("Saturday");
                break;
            case 7:
                System.out.println("Sunday");
                break;
            default:
                System.out.println("Invalid day");
        }
    }
}

Dans cet exemple, la variable day est comparée aux valeurs du cas. Puisque day est 3, la sortie sera "Wednesday".

Exemple 2 : Utilisation de chaînes de caractères

public class SwitchStringExample {
    public static void main(String[] args) {
        String fruit = "Apple";
        switch (fruit) {
            case "Apple":
                System.out.println("Fruit is Apple");
                break;
            case "Banana":
                System.out.println("Fruit is Banana");
                break;
            case "Cherry":
                System.out.println("Fruit is Cherry");
                break;
            default:
                System.out.println("Unknown fruit");
        }
    }
}

Cet exemple montre comment utiliser une déclaration switch avec des valeurs String. Puisque fruit est "Apple", le résultat sera "Fruit is Apple".

Exemple 3 : Comportement de repli (Fall-Through)

public class SwitchFallThroughExample {
    public static void main(String[] args) {
        int num = 2;
        switch (num) {
            case 1:
                System.out.println("One");
            case 2:
                System.out.println("Two");
            case 3:
                System.out.println("Three");
                break;
            default:
                System.out.println("Default case");
        }
    }
}

Dans cet exemple, l'absence de déclarations sur break entraîne un comportement de repli. Puisque num est 2, la sortie sera :

Two
Three
Default case

Conseils et bonnes pratiques

  • Utilisez les déclarations break : Utilisez toujours les déclarations break pour éviter les retombées, sauf si vous le souhaitez explicitement.
  • Cas par défaut: Incluez un cas default pour gérer les valeurs inattendues.
  • Valeurs constantes: Assurez-vous que les valeurs de casse sont des constantes ou des littéraux.
  • Type Compatibilité: L'expression switch peut être de type byte, short, char, int, String, ou de type enum. Assurez-vous que les valeurs des cas sont compatibles avec le type de l'expression.
  • Code lisible: Utilisez les instructions switch pour rendre votre code plus lisible et plus facile à maintenir que de multiples instructions if-else.
  • Améliorations de Java 12: Depuis Java 12, vous pouvez utiliser des expressions de commutation pour renvoyer des valeurs directement à partir de cas, ce qui simplifie la syntaxe et améliore la lisibilité du code.
enum Day {
    MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

public class SwitchEnumExample {
    public static void main(String[] args) {
        Day day = Day.WEDNESDAY;
        switch (day) {
            case MONDAY:
                System.out.println("Monday");
                break;
            case TUESDAY:
                System.out.println("Tuesday");
                break;
            case WEDNESDAY:
                System.out.println("Wednesday");
                break;
            case THURSDAY:
                System.out.println("Thursday");
                break;
            case FRIDAY:
                System.out.println("Friday");
                break;
            case SATURDAY:
                System.out.println("Saturday");
                break;
            case SUNDAY:
                System.out.println("Sunday");
                break;
        }
    }
}

L'utilisation des enums dans les déclarations switch peut améliorer la lisibilité du code et la sécurité des types.

Apprendre l'essentiel de Java

Développez vos compétences en Java à partir de la base et maîtrisez les concepts de programmation.
Commencez à apprendre gratuitement