Au lieu de chaînes encombrantes if...else
, la déclaration de Java switch
offre un moyen plus propre et plus efficace de gérer plusieurs branches conditionnelles. Ce guide explore ses fonctionnalités, sa syntaxe et ses meilleures pratiques.
Considérations clés:
switch
L'instruction peut avoir une ou plusieurs valeurs case
. case
doivent correspondre au type d'expression switch
(octet, court, int, long, types de wrapper, enums ou chaîne). Ils doivent être des littéraux ou des constantes, pas des variables. case
doivent être uniques; Les doublons provoquent des erreurs de temps de compilation. break
(facultative) quitte le bloc switch
après une correspondance case
. L'omission de break
conduit à un comportement de «chute» (exécution des cas suivants). default
Étiquette (facultative) gère les cas où non case
correspond à l'expression.
L'instruction switch
évalue l'expression une fois et la compare à chaque valeur case
. Si une correspondance est trouvée, le bloc de code correspondant s'exécute. break
et default
sont expliqués ci-dessous.
Syntaxe:
<code class="language-java">switch (expression) { case value1: // Code block 1 break; case value2: // Code block 2 break; default: // Default code block (optional) }</code>
Le mot-clé break
:
break
termine le bloc switch
, empêchant la chute. Sans break
, l'exécution continue le suivant case
jusqu'à ce qu'un break
ou la fin du switch
soit rencontré. L'utilisation de break
améliore la clarté du code et empêche le comportement involontaire.
Le mot-clé default
:
default
Fournit un bloc de secours exécuté si aucune case
correspond à la valeur de l'expression. Il est facultatif mais crucial pour gérer les entrées inattendues.
Exemples:
1. Jour de la semaine:
<code class="language-java">public class DayOfWeek { public static void main(String[] args) { int day = 4; 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"); } } }</code>
Sortie: Jeudi
2. Exemple d'automne:
<code class="language-java">public class FallThrough { public static void main(String[] args) { int number = 20; switch (number) { case 10: System.out.println("10"); case 20: System.out.println("20"); case 30: System.out.println("30"); default: System.out.println("Default"); } } }</code>
Sortie: 20 30 par défaut
3. Communiquez avec String (Java 7 et plus tard):
<code class="language-java">public class StringSwitch { public static void main(String[] args) { String level = "Expert"; switch (level) { case "Beginner": System.out.println("Level 1"); break; case "Intermediate": System.out.println("Level 2"); break; case "Expert": System.out.println("Level 3"); break; default: System.out.println("Unknown Level"); } } }</code>
Sortie: Niveau 3
4. Interrupteur imbriqué:
Les déclarations imbriquées switch
sont autorisées, fournissant une ramification conditionnelle supplémentaire dans un case
.
5. Enum in Switch:
Les énumérations peuvent être utilisées directement dans les instructions switch
, améliorant la lisibilité et la maintenabilité du code.
Considérations importantes:
break
instructions; cela peut entraîner un comportement inattendu. switch
ne prend en charge que les vérifications exactes de l'égalité, pas les gammes ou les conditions complexes. switch
doit être un type primitif (int, char, octet, court, etc.), une enum ou une chaîne (java 7). switch
de renvoyer une valeur. Ce guide fournit une base solide pour utiliser efficacement la déclaration de Java switch
. N'oubliez pas de hiérarchiser la clarté du code et d'éviter le comportement de chute involontaire pour un code robuste et maintenable. Pour une utilisation plus avancée, explorez les expressions de commutation améliorées de Java introduites dans Java 12 et au-delà. Consultez les références fournies pour plus de détails.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!