L’ instruction switch en Java est utilisée dans les cas où nous avons de nombreux choix à tester, et dans de tels cas, nous devons écrire des instructions if-else
imbriquées.
Avec plusieurs niveaux de if-else
l’utilisation de l’instruction switch permet d’avoir un code plus claire et, dans la plupart des cas, plus rapide. C’est principalement parce que l’expression switch n’est évaluée qu’une seule fois.
Voici comment cela fonctionne :
- L’expression switch n’est évaluée qu’une seule fois.
- La valeur de l’expression est comparée aux valeurs de chaque situation.
- Si une correspondance est trouvée, le bloc de code correspondant est exécuté.
Les mots-clésbreak
etdefault
sont facultatifs.

La syntaxe de l’instruction switch
L’instruction switch
prend une variable dont la valeur est comparée à la valeur de plusieurs cas différents. S’il y a correspondance, le bloc de code correspondant sera exécuté.
switch (variable)
{
case valeur_1:
//code
break;
case valeur_2:
//code
break;
default:
//code
}
Le terme break
permet de s’assurer que le programme s’arrête après l’exécution du bloc de code du cas correspondant. Sinon, tous les cas après le bloc correspondant seront exécutés.
Prenons un exemple :
Un exemple simple de l’instruction switch, consiste de déclarer une variable avec une valeur et utiliser switch
pour tester plusieurs cas. Si l’un des cas correspond, il affichera l’instruction correspondante, sinon la valeur par défaut sera affichée. Un mot-clé break
est requis pour arrêter le code.
public class Test {
public static void main(String[] args) {
//Déclarer la variable
int num = 10;
//Tester la variable num selon les cas
switch (num) {
//Les instructions de chaque cas et sa valeur
case 3:
System.out.println("Troix");
break;
case 10:
System.out.println("Dix");
break;
case 15:
System.out.println("Qinze");
break;
//Le code par défaut
default:
System.out.println("Aucune valeur trouvée");
}
}
}
Ce code affiche :
Dix
L’instruction switch
a testé la valeur de la variable num
. Puisque le deuxième cas est défini avec une valeur de 10, il a été exécuté.
Si aucun cas ne correspond à la valeur de num
, la valeur par défaut sera affichée.
En fait, chaque fois qu’une instruction break
est trouvée dans n’importe quel cas de switch
, le flux du programme sort directement après l’exécution, ignorant tous les autres cas.
Si l’instruction break
n’est pas utilisée, tous les cas après le cas correspondant seront exécutés.
Pour terminer, sachez que à partir de Java 12
, de nouvelles améliorations ont été apportées à l’instruction switch
. Cela simplifie potentiellement le code en étendant l’ancienne instruction switch
et en lui permettant d’être utilisée soit comme une instruction normale améliorée, soit comme une « expression switch
».