[Programmation] Comment écrire l’instruction switch
A force de switcher (Euh? de jongler je veux dire) entre différents langages, il arrive un moment ou l’on ne sais plus comment écrire ses instructions de base comme le switch ( le fameux selon que ou suivant que) dans le langage que nous sommes entrain d’utiliser.
Voici donc un rapide rappel de la grammaire de l’instruction Switch(« aiguillage » en anglais) dans différents langages.(SQL, Javascript, C# …)
Pour rappel, l’instruction switch permet en évaluant une valeur d’accéder directement aux instructions prévus pour cette valeur.
Il remplace avantageusement l’utilisation d’instructions if else imbriquées.
Le cas ‘default’ ne s’exécute que lorsque aucun des cas précédents n’a été validé.
En JavaScript
switch (VariableSwitch) { case ValeurJS: alert('Instructions javascript'); break; case ValeurNode: alert('Instructions Nodejs'); break; default: alert('Instructions par défaut C#'); break; } |
En C#
Une instruction de saut (break, goto case…) est obligatoire à la fin de chaque case. Si vous avez besoin de rentrer dans le case suivant utilisez goto case.
switch (caseSwitch) { case "valeur1": Console.WriteLine("Case 1"); break; case "valeur2": Console.WriteLine("Case 2"); break; default: Console.WriteLine("Défaut case"); break; } |
En C
La particularité du langage C est que ce langage n’accepte d’évaluer que des entiers.
L’omission d’une instruction de saut (break) permet de rentrer automatiquement dans le case suivant.
switch( i ) { case -1: negatif++; break; case 0 : blanc++; break; case 1 : positif++; break; } |
En Java
La spécificité du langage Java est que ce langage n’accepte d’évaluer que des entiers, des caractères ou des bits ( int, short, char ou byte).
L’omission d’une instruction de saut (break) permet de rentrer automatiquement dans le case suivant.
switch (variable) { case a: Liste d'instructions Java break; case b: Liste d'instructions break; default: Liste d'instructions } |
En Php
switch (variable) { case "valeur1": echo 'Instructions'; break; case "valeur2": echo 'Instructions'; break; case "valeur3": echo 'Instructions'; break; default: echo 'Instructions par défaut'; } |
En C/SIDE (Navision)
CASE LocationCode OF 'DIJON' : BEGIN CurrForm.LblBourgogne.VISIBLE := TRUE; CurrForm.LblVaucluse.VISIBLE := FALSE; END; 'CAVAILLON' : BEGIN CurrForm. LblBourgogne.VISIBLE := FALSE; CurrForm. LblVaucluse.VISIBLE := TRUE; END; ELSE ERROR('MODIFICATION NON PREVUE'); END; |
En Python
Et bien en python l’instruction switch n’existe pas. Il faut donc se contenter d’utiliser une suite de condition if et else.
En SQL
CASE couleur WHEN 'blanc' THEN 'paix' WHEN 'noir' THEN 'pirate' ELSE 'neutre' END |
Particularité du SQL, on peut ne pas préciser la valeur que nous souhaitons tester et tester à la place
CASE WHEN couleur = 'blanc' THEN 'paix' WHEN drapeau = 'pirate' THEN 'noir' ELSE 'neutre' END |
Bien sur, je vous invite à compléter cette liste.
Quelques lectures complémentaires :
13 commentaires sur « [Programmation] Comment écrire l’instruction switch »