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){casevalue1:// code blockbreak;casevalue2:// code blockbreak;// more cases...default:// default code block}Propulsé par
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
publicclassSwitchExample{publicstaticvoidmain(String[] args){
int day =3;switch(day){case1:
System.out.println("Monday");break;case2:
System.out.println("Tuesday");break;case3:
System.out.println("Wednesday");break;case4:
System.out.println("Thursday");break;case5:
System.out.println("Friday");break;case6:
System.out.println("Saturday");break;case7:
System.out.println("Sunday");break;default:
System.out.println("Invalid day");}}}Propulsé par
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
publicclassSwitchStringExample{publicstaticvoidmain(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");}}}Propulsé par
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)
publicclassSwitchFallThroughExample{publicstaticvoidmain(String[] args){
int num =2;switch(num){case1:
System.out.println("One");case2:
System.out.println("Two");case3:
System.out.println("Three");break;default:
System.out.println("Default case");}}}Propulsé par
Dans cet exemple, l'absence de déclarations sur break entraîne un comportement de repli. Puisque num est 2, la sortie sera :
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}publicclassSwitchEnumExample{publicstaticvoidmain(String[] args){
Day day = Day.WEDNESDAY;switch(day){caseMONDAY:
System.out.println("Monday");break;caseTUESDAY:
System.out.println("Tuesday");break;caseWEDNESDAY:
System.out.println("Wednesday");break;caseTHURSDAY:
System.out.println("Thursday");break;caseFRIDAY:
System.out.println("Friday");break;caseSATURDAY:
System.out.println("Saturday");break;caseSUNDAY:
System.out.println("Sunday");break;}}}Propulsé par
L'utilisation des enums dans les déclarations switch peut améliorer la lisibilité du code et la sécurité des types.
Le mot-clé
switchen 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
switchconstitue un moyen plus propre et plus lisible de gérer plusieurs branchements conditionnels que l'utilisation de plusieurs instructionsif-else.Syntax
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éclarationswitch, évitant ainsi les retombées.default: S'exécute si aucune valeur de cas ne correspond à l'expression.Exemples
Exemple 1 : Utilisation de base
Dans cet exemple, la variable
dayest comparée aux valeurs du cas. Puisquedayest 3, la sortie sera "Wednesday".Exemple 2 : Utilisation de chaînes de caractères
Cet exemple montre comment utiliser une déclaration
switchavec des valeursString. Puisquefruitest "Apple", le résultat sera "Fruit is Apple".Exemple 3 : Comportement de repli (Fall-Through)
Dans cet exemple, l'absence de déclarations sur
breakentraîne un comportement de repli. Puisquenumest 2, la sortie sera :Conseils et bonnes pratiques
break: Utilisez toujours les déclarationsbreakpour éviter les retombées, sauf si vous le souhaitez explicitement.defaultpour gérer les valeurs inattendues.switchpeut être de typebyte,short,char,int,String, ou de type enum. Assurez-vous que les valeurs des cas sont compatibles avec le type de l'expression.switchpour rendre votre code plus lisible et plus facile à maintenir que de multiples instructionsif-else.L'utilisation des enums dans les déclarations
switchpeut améliorer la lisibilité du code et la sécurité des types.