Le contrôle de flux dans n'importe quel langage de programmation est essentiel pour créer des programmes capables de prendre des décisions et d'exécuter différents blocs de code en fonction de conditions spécifiques. Java, étant un langage de programmation robuste et largement utilisé, propose plusieurs constructions pour le contrôle de flux, notamment if
, else
, switch
et des boucles comme pour
, pendant que
et do-while
. Dans ce texte, nous nous concentrerons spécifiquement sur l'instruction switch
et sur la façon dont vous pouvez utiliser plusieurs cas pour contrôler le flux de votre programme.
L'instruction switch
est une structure de flux de contrôle qui vous permet d'exécuter différentes parties de code en fonction de la valeur d'une variable. C'est une alternative à l'utilisation de plusieurs instructions if-else-if
, fournissant un code plus propre et plus lisible, en particulier lorsqu'il s'agit de nombreuses conditions.
Déclaration de base du switch
En Java, la syntaxe de base d'une instruction switch
est la suivante :
commutateur (variable) {
valeur de cas1 :
// Bloc de code pour valeur1
casser;
valeur de cas2 :
// Bloc de code pour valeur2
casser;
//...
défaut:
// Bloc de code par défaut
}
La variable utilisée dans la déclaration switch
peut être de type byte
, short
, char
, int
, String
ou enum
. Lorsque la valeur de la variable correspond à l'une des valeurs spécifiées dans les cas (case
), le bloc de code associé est exécuté. Le mot clé break
est utilisé pour quitter l'instruction switch
après avoir exécuté le bloc de code d'un cas spécifique. Si aucun des cas ne correspond, le bloc de code sous default
est exécuté.
Déclaration de cas multiples dans switch
Dans certaines situations, vous souhaiterez peut-être que plusieurs cas exécutent le même bloc de code. Ceci peut être réalisé en alignant les cas sans bloc de code ni instruction break
entre les deux. Regardons un exemple :
changer (jour de la semaine) {
cas 1:
cas 2 :
cas 3 :
cas 4 :
cas 5 :
System.out.println("Jour ouvrable");
casser;
cas 6 :
cas 7 :
System.out.println("Week-end");
casser;
défaut:
System.out.println("Jour invalide");
}
Dans cet exemple, si dayOfWeek
est une valeur comprise entre 1 et 5, le programme affichera « Workday ». S'il est 6 ou 7, il affichera "Week-end". S'il s'agit d'une autre valeur, le message "Jour invalide" s'affichera. En omettant l'instruction break
entre les cas 1 à 5, nous nous assurons qu'ils exécutent tous le même bloc de code.
Considérations importantes
Il y a quelques considérations importantes lors de l'utilisation de la déclaration switch
en Java :
- Pauses : utilisez toujours le mot-clé
break
pour éviter de "tomber" dans la casse suivante. Oublier d'inclure unbreak
est une erreur courante qui peut entraîner un comportement inattendu. - Par défaut : bien que cela ne soit pas obligatoire, il est recommandé d'inclure une clause
default
pour gérer toute valeur qui ne correspond à aucun des cas spécifiés. - Constantes : Les valeurs de casse doivent être des constantes ou des littéraux. Les variables ne sont pas autorisées.
- Types de données : La variable utilisée dans l'expression
switch
doit être compatible avec les types autorisés.
Java SE 12 et l'expression switch
Avec Java SE 12 et les versions ultérieures, l'expression switch
a été améliorée pour prendre en charge une syntaxe plus flexible et plus puissante. Cela inclut l'utilisation de yield
pour renvoyer les valeurs d'un switch
et la possibilité d'utiliser switch
comme expression elle-même. Voici un exemple de la façon dont vous pouvez utiliser switch
dans une expression :
Chaîne dayType = switch (jour de la semaine) {
cas 1, 2, 3, 4, 5 -> « Jour ouvrable » ;
cas 6, 7 -> "Week-end" ;
par défaut -> « Jour invalide » ;
} ;
System.out.println(typeOfDay);
Dans cet exemple, l'expression switch
est utilisée pour attribuer une valeur à la variable typeOfDay
en fonction de la valeur de dayOfWeek
. La syntaxe des flèches (->
) élimine le besoin de break
et permet une expression directe du résultat pour chaque cas.
Conclusion
L'instruction switch
est un outil puissant pour contrôler le flux de votre programme Java. L'utilisation de plusieurs cas pour exécuter le même bloc de code peut rendre votre code plus concis et plus facile à comprendre. Avec les récentes mises à jour du langage Java, l'expression switch
est devenu encore plus flexible et expressif. En maîtrisant l'utilisation de switch
et d'autres constructions de contrôle de flux, vous serez bien équipé pour écrire des programmes Java efficaces et sophistiqués.