Déclaration de commutation Java
L'instruction switch en Java est une instruction de flux de contrôle qui permet l'exécution d'un bloc de code parmi plusieurs alternatives. Elle offre une manière plus lisible et plus efficace d'écrire une série d'instructions if-else lorsque l'on compare la même expression à différentes valeurs.
Utilisation
L'instruction switch évalue une expression, compare la valeur de l'expression à une série d'étiquettes case et exécute le bloc de code associé à la correspondance case. Si aucun case ne correspond, le bloc default est exécuté, s'il est présent.
Syntax
switch (expression) {
case value1:
// code block
break;
case value2:
// code block
break;
// more cases...
default:
// default code block
}
- l'expression: Une variable ou une expression qui n'est évaluée qu'une seule fois.
- valeur1, valeur2, ... : Expressions constantes auxquelles le site
expressionest comparé. - pause: Termine le bloc
switch. Sans cela, l'exécution tombe dans les cas suivants. - par défaut: Bloc facultatif exécuté si aucun
casene correspond.
Exemples
Exemple 1 : De base switch Déclaration
public class SwitchExample {
public static void main(String[] args) {
int number = 2;
switch (number) {
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
case 3:
System.out.println("Three");
break;
default:
System.out.println("Not in range");
}
}
}
Dans cet exemple, l'instruction switch évalue la variable number. Comme number est égal à 2, la sortie sera "Two". La déclaration break permet d'éviter les retombées sur les cas suivants.
Exemple 2 : switch avec cordes
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;
default:
System.out.println("Unknown fruit");
}
}
}
Cet exemple illustre l'utilisation d'une déclaration switch avec une déclaration String. Le site switch vérifie la valeur de fruit, et comme il s'agit de "Apple", la sortie sera "Fruit is Apple".
Exemple 3 : switch sans break
public class SwitchFallThroughExample {
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1:
case 2:
case 3:
System.out.println("Weekday");
break;
case 4:
case 5:
System.out.println("Weekend");
break;
default:
System.out.println("Invalid day");
}
}
}
Dans cet exemple, plusieurs étiquettes case sont utilisées pour exécuter le même bloc de code. La sortie sera "Jour de semaine" parce que day est 3, et l'instruction break empêche l'exécution de passer aux cas "Week-end".
Conseils et bonnes pratiques
- Utilisez les déclarations
break: Incluez toujours les déclarationsbreak, à moins que vous ne souhaitiez une retombée intentionnelle. Cela permet d'éviter l'exécution involontaire de cas ultérieurs. - Cas par défaut: Incluez un cas
defaultpour gérer les valeurs inattendues et améliorer la robustesse du code. - Types d'expression: L'expression
switchpeut être du typebyte,short,int,char,String, ou une énumération. - Évitez les logiques complexes: Utilisez
switchpour des scénarios simples avec des valeurs discrètes. Pour les conditions complexes, envisagez d'utiliser les déclarationsif-else. - Améliorations de Java 12+: Dans Java 12 et les versions ultérieures, les expressions de commutation permettent de renvoyer des valeurs et d'utiliser le mot-clé
yieldpour un code plus concis.