Conditionnels en Dart

Introduction aux conditionnels en Dart

Les conditionnels en Dart jouent un rôle crucial dans la gestion du flux d'exécution d'un programme. Ce sont les éléments fondamentaux qui permettent de prendre des décisions. Grâce aux conditionnels, il est possible d'exécuter un ensemble d'instructions lorsque certaines conditions prédéfinies sont satisfaites, que celles-ci soient vraies ou fausses. Parmi les déclarations conditionnelles courantes en Dart, on retrouve : if-else, les échelles if-else-if, les switch et les expressions conditionnelles.

Instruction if

L'instruction if s'exécute lorsqu'un bloc de code satisfait à une condition spécifique, c'est-à-dire lorsque la condition est évaluée comme vraie.

Syntaxe :

if(condition){  
   // Code à exécuter
}  

Exemple :
Cet exemple démontre l'utilisation de l'instruction if:

void main(){  
   int age = 18;  
   if(age >= 18){  
       print("Vous êtes un adulte. Vous êtes éligible pour voter.");  
   }  
}

Sortie :
Vous êtes un adulte. Vous êtes éligible pour voter.

Instruction if-else

L'instruction if-else est une combinaison des déclarations if et else. Elle exécute le bloc if si une condition est vraie et le bloc else si elle est fausse.

Syntaxe :

if(condition){  
   // Code à exécuter uniquement si la condition est vraie
}else{  
   // Code à exécuter si la condition précédente est fausse
}

Exemple :
Voici un exemple d'utilisation de l'instruction if-else :

void main(){  
   int age = 12;  
   if(age>=18){  
       print("Vous êtes un adulte. Vous êtes éligible pour voter.");  
   } else {  
       print("Oups ! Vous n'êtes pas éligible pour voter.");  
   }  
}

Sortie :
Oups ! Vous n'êtes pas éligible pour voter.

Instruction if-else imbriquée

Dart permet des instructions if-else imbriquées. Cela signifie que l'on peut inclure plusieurs conditions if-else les unes dans les autres pour gérer des situations plus complexes.

Syntaxe :

if(condition1) {  
   // Code à exécuter si condition1 est vraie  
   if(condition2) {  
       // Code à exécuter si condition1 et condition2 sont vraies  
   } else {  
       // Code à exécuter si condition1 est vraie mais condition2 est fausse  
   }  
} else {  
   // Code à exécuter si condition1 est fausse  
   if(condition3){  
       // Code à exécuter si condition1 est fausse et condition3 est vraie  
   } else {  
       // Code à exécuter si à la fois condition1 et condition3 sont fausses  
   }  
}

Exemple :
Cet exemple montre comment utiliser des instructions if-else imbriquées :

void main(){  
   int age = 20;  
   bool hasID = true;  
   if (age>=18){  
       if(hasID){  
           print("Vous avez une carte électorale. Vous êtes donc éligible pour voter.");  
       } else {  
           print("Vous avez besoin d'une carte électorale.");  
       }  
   } else {  
       print("Vous n'êtes pas autorisé à voter.");  
   }  
}

Sortie :
Vous avez une carte électorale. Vous êtes donc éligible pour voter.

Échelle if-else-if

Une échelle if-else-if permet de traiter plusieurs déclarations de manière séquentielle. Le code associé à la première condition vraie rencontrée sera exécuté, tandis que le bloc else sera exécuté si aucune condition n'est vraie.

Syntaxe :

if (condition1) {  
   // Code à exécuter si condition1 est vraie  
} else if (condition2) {  
   // Code à exécuter si condition1 est fausse mais condition2 est vraie  
} else if (condition3) {  
   // Code à exécuter si condition1 et condition2 sont fausses mais condition3 est vraie  
} else {  
   // Code à exécuter si toutes les conditions précédentes sont fausses  
}

Exemple :
Dans cet exemple, l'échelle if-else-if est mise en œuvre :

void main(){  
   int age = 25;  
   if(age >= 0 && age <= 12){  
       print ("Catégorie : Enfant");  
   } else if (age >= 13 && age <=19){  
       print("Catégorie : Adolescent");  
   } else if (age >= 20 && age <=64){  
       print("Catégorie : Adulte");  
   } else if (age >= 65){  
       print("Catégorie : Senior");  
   } else {  
       print("Veuillez entrer un âge valide");  
   }  
}

Sortie :
Catégorie : Adulte.

Instruction switch

L'instruction switch permet d'exécuter un bloc de code en fonction d'une valeur spécifique d'une expression. Elle se compose de plusieurs cas, correspondant à des valeurs uniques qui seront comparées à la valeur de l'expression. L'instruction break termine le switch. Le cas default contient un bloc de code à exécuter si aucune des valeurs ne correspond à celle de l'expression.

Syntaxe :

switch (expression) {  
   case value1:  
       // Code à exécuter si expression == value1  
       break;  
   case value2:  
       // Code à exécuter si expression == value2  
       break;  
   case value3:  
       // Code à exécuter si expression == value3  
       break;  
   default:  
       // Code à exécuter si la valeur de l'expression ne correspond à aucun cas  
}

Exemple :
Cet exemple montre l'utilisation de l'instruction switch :

void main(){  
   int age = 25;  
   String category;  
   if (age >= 0 && age <= 12) {  
       category = 'Enfant';  
   } else if (age >= 13 && age <= 19) {  
       category = 'Adolescent';  
   } else if (age >= 20 && age <= 64) {  
       category = 'Adulte';  
   } else if (age >= 65) {  
       category = 'Senior';  
   } else {  
       category = 'Âge invalide';  
   }  
   switch (category) {  
       case 'Enfant':  
           print('Catégorie : Enfant');  
           break;  
       case 'Adolescent':  
           print('Catégorie : Adolescent');  
           break;  
       case 'Adulte':  
           print('Catégorie : Adulte');  
           break;  
       case 'Senior':  
           print('Catégorie : Senior');  
           break;  
       default:  
           print('Âge invalide');  
   }  
}

Sortie :
Catégorie : Adulte.

Expressions conditionnelles

Les expressions conditionnelles en Dart sont créées à l'aide de l'opérateur ??, connu sous le nom d'opérateur null-aware. Cet opérateur ne s'évalue que si l'expression est nulle et retourne la valeur à sa droite.

Syntaxe :

condition ? expressionIfTrue : expressionIfFalse;

Exemple :
L'exemple ci-dessous illustre l'utilisation des expressions conditionnelles :

void main(){  
   String? userName;  
   String displayName = userName ?? 'Invité';  
   print("Bienvenue, $displayName !");  
}

Sortie :
Bienvenue, Invité !