7.6 Contrôle de flux : structure de commutation conditionnelle
La structure conditionnelle switch
est l'un des outils fondamentaux de la programmation Java pour contrôler le flux d'un programme. Il est utilisé lorsque nous avons un nombre limité de valeurs discrètes qu'une variable peut prendre et que nous voulons exécuter différents blocs de code en fonction de la valeur de cette variable. switch
fournit un moyen plus propre et plus lisible d'écrire une série d'instructions if-else-if
qui comparent la même variable.
Fonctionnement du commutateur
Le switch
fonctionne comme une sorte de sélection multiple pour le contrôle de flux. Il évalue la valeur d'une variable ou d'une expression, puis recherche une correspondance entre cette valeur et une série de cas définis par le programmeur. Si une correspondance est trouvée, le bloc de code associé à ce cas est exécuté. Java permet l'utilisation de switch
avec des types primitifs tels que int
, byte
, short
, char< /code>, et avec les classes
String
, Enum
et certaines classes wrapper de types primitifs, telles que Integer
et Character code >.
Syntaxe de base du commutateur
La syntaxe de base de switch
est la suivante :
changer (expression) {
valeur de cas1 :
// Bloc de code pour valeur1
casser;
valeur de cas2 :
// Bloc de code pour valeur2
casser;
// vous pouvez avoir n'importe quel nombre de cas
défaut:
// Bloc de code par défaut (facultatif)
}
Dans l'exemple ci-dessus, l'expression entre parenthèses de switch
est évaluée une fois, et son résultat est comparé aux valeurs spécifiées dans les cas (case
) . Si une correspondance est trouvée, le bloc de code associé est exécuté. La commande break
permet de quitter le switch
après avoir exécuté un bloc de code dans un cas. Si break
est omis, le programme continuera à exécuter les cas suivants jusqu'à ce qu'il rencontre un break
ou jusqu'à la fin du switch
. Le cas default
est facultatif et est exécuté si aucun des cas ne correspond à l'expression évaluée.
Exemple de Switch en Java
mois entier = 4 ;
Chaîne nomdumois ;
changer (mois) {
cas 1:
MonthName = "Janvier";
casser;
cas 2 :
MonthName = "Février" ;
casser;
cas 3 :
MonthName = "Mars" ;
casser;
cas 4 :
MonthName = "Avril" ;
casser;
cas 5 :
MonthName = "Mai" ;
casser;
cas 6 :
MonthName = "Juin";
casser;
// ... autres cas ...
défaut:
MonthName = "Mois invalide" ;
casser;
}
System.out.println("Le mois est " + MonthName);
Dans cet exemple, la variable mes
est évaluée par switch
, et le cas correspondant à la valeur de mes
est exécuté. Puisque la valeur de mois
est 4, le bloc de code correspondant au cas 4 est exécuté, et la variable nomeDoMes
est définie sur "Avril".
Commutateur sans pause
Bien que l'utilisation de break
soit la plus courante et recommandée, il existe des situations dans lesquelles il peut être utile de l'omettre. Par exemple, lorsque plusieurs cas doivent exécuter le même bloc de code, vous pouvez les regrouper pour éviter la répétition du code. Cependant, il faut faire très attention lors de cette opération pour éviter les erreurs logiques.
Commuter avec des chaînes
Depuis Java 7, il est possible d'utiliser switch
avec des chaînes. Cela facilite l'écriture de code lorsque nous traitons de variables qui stockent du texte. Voir un exemple :
Niveau de chaîne = « Expert » ;
commutateur (niveau) {
cas "Débutant":
System.out.println("Bienvenue au niveau débutant !");
casser;
cas "Intermédiaire" :
System.out.println("Vous avez déjà une certaine expérience.");
casser;
cas "Expert":
System.out.println("Vous êtes un utilisateur avancé !");
casser;
défaut:
System.out.println("Niveau inconnu !");
casser;
}
Dans l'exemple ci-dessus, switch
vérifie le contenu de la variable level
et exécute le bloc de code correspondant à la valeur trouvée.
Considérations finales
La structure conditionnelle switch
est un outil précieux et efficace pour contrôler le flux d'exécution dans un programme Java. Il doit être utilisé lorsque nous disposons d'un ensemble clair et limité de valeurs qu'une variable peut prendre et que nous souhaitons effectuer des actions différentes pour chacune de ces valeurs. Une utilisation correcte de switch
peut rendre le code plus propre, plus lisible et plus facile à maintenir.
Cependant, il est important de rappeler que switch
ne remplace pas complètement les structures conditionnelles if
et else
. switch
est plus adapté aux situations où nous comparons une seule variable avec des valeurs spécifiques, tandis que if
est plus flexible et peut être utilisé pour évaluer des expressions plus complexes et plusieurs conditions.switch
/p>
Avec de la pratique et une bonne compréhension du moment et de la manière d'utiliser switch
, vous pouvez écrire des programmes Java plus efficaces et plus organisés, améliorant ainsi la qualité de votre code et l'efficacité de votre processus de développement. p>