L'instruction switch permet d'exécuter des instructions différentes selon la valeur que prend une variable. Elle a la forme générale suivante :
switch (var) {
case val1 : instructions;
case val2 : instructions;
default : instructions;
}
La variable testée doit être de type entier ou de type caractère. Les valeurs val1, val2, ... doivent être des constantes. La clause default permet de donner des instructions à exécuter si la variable a une valeur différente de celles qui sont prévues. Attention : dès qu'un cas correspond à la valeur de la variable, toutes les instructions qui suivent sont exécutées; on utilise le mot-clé BREAK pour sortir de la boucle.
Ecrivons un programme qui donne une appréciation pour une note sur 10 obtenue à un devoir : "Très insuffisant" de 0 à 2, "Insuffisant" de 3 à 4, "Moyen" de 5 à 6, "Bien" de 7 à 8 et "Très bien" de 9 à 10.
Si la note est contenue dans la variable note, on peut utiliser le code suivant :
switch (note) {
case 0: case 1: case 2:
System.out.println("Très insuffisant.");
break;
case 3: case 4:
System.out.println("Insuffisant.");
break;
case 5: case 6:
System.out.println("Moyen.");
break;
case 7: case 8:
System.out.println("Bien.");
break;
case 9: case 10:
System.out.println("Très bien.");
break;
default :
System.out.println("Note impossible.");
}
Le mot-clé break permet d'éviter l'exécution des instructions correspondant aux cas suivant le cas traité.
Ecrire le programme complet qui lit la note passée en paramètre et affiche l'appréciation.