[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é.

Switchez!

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 :


Arnaud

Webmaster & Administrateur de UIOP.

View Comments

Recent Posts

Joyeux Noel 2024, bonnes fêtes de fin d’année

Voilà 10 ans que je n'avais pas écrit un petit texte pour souhaiter un joyeux… Read More

4 mois ago

Fin des vacances d’halloween (1er novembre), bon retour en classe

Cela faisait un petit moment que je n'avais pas créé de billets sur ce blog.… Read More

6 mois ago

Agile | L’importance d’écrire des tâches pour une User Story

Explorez l'importance des user stories dans la méthode Agile à travers une vidéo humoristique qui… Read More

5 ans ago

[Actu] Printemps des poètes

Parce que, contrairement à ce que l'on pourrait penser ce soir qu'il pleut des cordes,… Read More

6 ans ago

[Actu] Élections présidentielles 2017

Un peu d’humour en attendant le résultat des élections présidentielles françaises. Read More

8 ans ago

[Linux] Activer/Désactiver l’UTC en ligne de commande

Si vous n'avez pas accès à l'interface graphique de votre Linux, vous pouvez modifier l'horloge… Read More

9 ans ago