Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Instruction Switch-Case | Types de Base et Opérations
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Bases de Java

bookInstruction Switch-Case

Gestion de plusieurs conditions différentes

Lorsque de nombreuses conditions doivent être vérifiées, l'utilisation de chaînes multiples de if-else peut ne pas être pratique.

Par exemple :

Main.java

Main.java

copy
12345678910111213141516171819
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `if` statement int a = 30; if (a == 10) { System.out.println(10); } else if (a == 20) { System.out.println(20); } else if (a == 30) { System.out.println(30); } else if (a == 40) { System.out.println(40); } else { System.out.println(a); } } }

On constate que cela ne paraît ni clair ni professionnel. Pour ces situations, Java propose l'instruction switch-case.

Instruction switch-case

L'instruction switch-case se compose de plusieurs parties :

Main.java

Main.java

copy
123456789
switch (expression) { case value_1: // Code to be executed if expression matches `value_1` break; // Break is used to exit the `switch` statement. case value_2: // Code to be executed if expression matches `value_2` break; // Break is used to exit the `switch` statement. ............ default: // Code to be executed if no cases match // Optional, but executed if no other case matches }

Dans le code ci-dessus, il est possible d'observer l'utilisation de blocs switch pour exécuter sélectivement des opérations. L'exécution repose sur l'expression, qui diffère légèrement d'une condition. À cet endroit, il convient d'insérer une valeur ou une expression, par exemple 10 / 2. Dans ce cas, le bloc case portant la signature case 5 sera exécuté, car l'expression précédente est égale à 5.

Il est également possible d'utiliser une condition ici. Dans ce cas, il faut écrire une expression booléenne dans le bloc d'expression, ce qui donnerait quelque chose comme : 10 / 2 == 5. Ensuite, il convient d'écrire deux cas ci-dessous :

case true:
  
case false:

Cependant, cette structure sera presque indiscernable d'une structure if-else classique.

Le mot-clé "break"

Ce mot-clé est utilisé pour interrompre l'exécution d'une instruction switch-case et sortir de son bloc. Ce terme est également fréquemment utilisé dans les boucles, qui seront abordées dans les chapitres suivants. Utiliser ce mot-clé lorsque l'interruption de l'exécution d'un bloc de code est nécessaire.

Amélioration du code précédent à l'aide de l'instruction switch-case :

Main.java

Main.java

copy
123456789101112131415161718192021222324
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 30; switch (a) { case 10: System.out.println(10); break; case 20: System.out.println(20); break; case 30: System.out.println(30); break; case 40: System.out.println(40); break; default: System.out.println("There is no matching value"); } } }

Le code est désormais plus clair, plus lisible et plus facile à étendre. Il n'est plus nécessaire d'écrire une nouvelle instruction if pour chaque condition supplémentaire. Il suffit d'ajouter un nouveau bloc case à l'instruction switch-case statement.

Examinons le schéma du bloc switch-case :

Comme nous pouvons le constater, il peut y avoir autant de cas que souhaité. Chaque cas nécessite sa propre condition et son propre code, qui seront exécutés lorsque le programme entrera dans le bloc du cas. Il est recommandé d'utiliser le mot-clé break car le programme ne quittera pas le bloc switch tant que tous les blocs case n'auront pas été exécutés. Le bloc default sera exécuté si aucun des blocs case n'est entré ou si le mot-clé break n'a pas été utilisé.

Examinons un autre exemple sans les mots-clés break :

Main.java

Main.java

copy
1234567891011121314151617181920
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 10; switch (a) { case 10: System.out.println(10); case 20: System.out.println(20); case 30: System.out.println(30); case 40: System.out.println(40); default: System.out.println("There is no matching value"); } } }

Nous avons reçu plusieurs valeurs, qui diffèrent de ce à quoi nous nous attendions. De plus, nous avons obtenu des informations à partir des blocs case 10 et default. C'est précisément pour cette raison que nous utilisons le mot-clé break après chaque bloc. De cette manière, le programme quittera l'instruction switch et poursuivra son exécution.

1. Quelle sera la sortie affichée dans la console ?

2. Pourquoi avons-nous besoin du mot-clé break ?

question mark

Quelle sera la sortie affichée dans la console ?

Select the correct answer

question mark

Pourquoi avons-nous besoin du mot-clé break ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain the difference between the classic and new switch syntax in Java?

What happens if I forget to use the break statement in a switch-case?

Can you give more examples of when to use switch-case instead of if-else?

bookInstruction Switch-Case

Glissez pour afficher le menu

Gestion de plusieurs conditions différentes

Lorsque de nombreuses conditions doivent être vérifiées, l'utilisation de chaînes multiples de if-else peut ne pas être pratique.

Par exemple :

Main.java

Main.java

copy
12345678910111213141516171819
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `if` statement int a = 30; if (a == 10) { System.out.println(10); } else if (a == 20) { System.out.println(20); } else if (a == 30) { System.out.println(30); } else if (a == 40) { System.out.println(40); } else { System.out.println(a); } } }

On constate que cela ne paraît ni clair ni professionnel. Pour ces situations, Java propose l'instruction switch-case.

Instruction switch-case

L'instruction switch-case se compose de plusieurs parties :

Main.java

Main.java

copy
123456789
switch (expression) { case value_1: // Code to be executed if expression matches `value_1` break; // Break is used to exit the `switch` statement. case value_2: // Code to be executed if expression matches `value_2` break; // Break is used to exit the `switch` statement. ............ default: // Code to be executed if no cases match // Optional, but executed if no other case matches }

Dans le code ci-dessus, il est possible d'observer l'utilisation de blocs switch pour exécuter sélectivement des opérations. L'exécution repose sur l'expression, qui diffère légèrement d'une condition. À cet endroit, il convient d'insérer une valeur ou une expression, par exemple 10 / 2. Dans ce cas, le bloc case portant la signature case 5 sera exécuté, car l'expression précédente est égale à 5.

Il est également possible d'utiliser une condition ici. Dans ce cas, il faut écrire une expression booléenne dans le bloc d'expression, ce qui donnerait quelque chose comme : 10 / 2 == 5. Ensuite, il convient d'écrire deux cas ci-dessous :

case true:
  
case false:

Cependant, cette structure sera presque indiscernable d'une structure if-else classique.

Le mot-clé "break"

Ce mot-clé est utilisé pour interrompre l'exécution d'une instruction switch-case et sortir de son bloc. Ce terme est également fréquemment utilisé dans les boucles, qui seront abordées dans les chapitres suivants. Utiliser ce mot-clé lorsque l'interruption de l'exécution d'un bloc de code est nécessaire.

Amélioration du code précédent à l'aide de l'instruction switch-case :

Main.java

Main.java

copy
123456789101112131415161718192021222324
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 30; switch (a) { case 10: System.out.println(10); break; case 20: System.out.println(20); break; case 30: System.out.println(30); break; case 40: System.out.println(40); break; default: System.out.println("There is no matching value"); } } }

Le code est désormais plus clair, plus lisible et plus facile à étendre. Il n'est plus nécessaire d'écrire une nouvelle instruction if pour chaque condition supplémentaire. Il suffit d'ajouter un nouveau bloc case à l'instruction switch-case statement.

Examinons le schéma du bloc switch-case :

Comme nous pouvons le constater, il peut y avoir autant de cas que souhaité. Chaque cas nécessite sa propre condition et son propre code, qui seront exécutés lorsque le programme entrera dans le bloc du cas. Il est recommandé d'utiliser le mot-clé break car le programme ne quittera pas le bloc switch tant que tous les blocs case n'auront pas été exécutés. Le bloc default sera exécuté si aucun des blocs case n'est entré ou si le mot-clé break n'a pas été utilisé.

Examinons un autre exemple sans les mots-clés break :

Main.java

Main.java

copy
1234567891011121314151617181920
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 10; switch (a) { case 10: System.out.println(10); case 20: System.out.println(20); case 30: System.out.println(30); case 40: System.out.println(40); default: System.out.println("There is no matching value"); } } }

Nous avons reçu plusieurs valeurs, qui diffèrent de ce à quoi nous nous attendions. De plus, nous avons obtenu des informations à partir des blocs case 10 et default. C'est précisément pour cette raison que nous utilisons le mot-clé break après chaque bloc. De cette manière, le programme quittera l'instruction switch et poursuivra son exécution.

1. Quelle sera la sortie affichée dans la console ?

2. Pourquoi avons-nous besoin du mot-clé break ?

question mark

Quelle sera la sortie affichée dans la console ?

Select the correct answer

question mark

Pourquoi avons-nous besoin du mot-clé break ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 6
some-alt