Dart évalue des instructions conditionnelles afin d’exécuter un code spécifique. Plusieurs fois dans un programme, nous sommes tenus de vérifier une condition particulière. Selon la condition, qu’elle soit vraie ou fausse, nous exécuterons un ensemble d’instructions liées à chaque situation.
En fait, if-else
est assez simple à utiliser et à comprendre. Elle est très utile pour écrire une logique assez complexe. De plus, les conditions peuvent être combinées avec d’autres concepts puissants du langage Dart.

Les instructions conditionnelles avec if
L’instruction conditionnelle if
, qui veut dire (Si) permet au programme de faire quelque chose uniquement si une certaine condition est vraie.
Si une condition est remplie, le code du bloc if
sera exécuté, par contre si la condition est fausse, le code du bloc if
ne sera pas exécuté.
if(condition){
//Exécute ce code si la condition est évaluée à true.
}
// instruction suivante
Donc, c’est la syntaxe d’un simple bloc if
. Nous écrivons la condition entre parenthèses et si la condition est évaluée à true
le code à l’intérieur des accolades {}
sera exécuté. Assez simple ! Prenons un exemple.
main() {
int num = 20;
if(num>0){
print("$num est supérieur à 0.");
}
print("Nous avons testé une instruction if !");
}
Exécution du code.
20 est supérieur à 0.
Nous avons testé une instruction if !
Les instructions conditionnelles avec if…else
Vous pouvez étendre une instruction if
pour fournir du code à exécuter au cas où la condition est évaluée à false
. C’est ce qu’on appelle l’instruction if-else
(Si-Sinon).
Si L’instruction conditionnelle if
est évaluée à true
, le bloc de code sera exécuté. Sinon, il passera aux blocs else
.
La syntaxe de l’instruction if-else
dans Dart ressemble à ceci.
if(condition){
//Exécute ce code si la condition est évaluée à true.
}else{
//Exécute ce code si la condition est évaluée à false.
}
De plus, nous pouvons combiner plusieurs blocs if-else
.
main() {
var a = 2;
if(a<5){
print("condition : true");
}else{
print("condition : false");
}
print("*** Deuxième bloc if ***");
var b = 7;
if(b<4){
print("condition : false");
}else{
print("condition : false");
}
}
condition : true
*** Deuxième bloc if ***
condition : false
Dans le cas où la condition est évaluée à true
, print
du bloc if
est exécutée, tandis que dans le cas où la condition est évaluée à false, print
du bloc else
est exécutée.
Les instructions conditionnelles avec if…else if
Parfois, vous voudrez vérifier une condition, puis vérifier une autre condition si la première n’est pas vraie.
On utilise if-else if
lorsqu’il y a plusieurs conditions à vérifier.
if(test_1){
// à exécuter si test_1 est true
}else if(test_2){
// à exécuter si test_2 est true
}else if(test_3){
// à exécuter si test_3 est true
}else{
// à exécuter si aucun test n'est true
}
// instruction suivante
- Il évalue d’abord la condition
test_1
. Si c’esttrue
, il exécute les instructions du blocif
et le contrôle sort du testif-else
et passe à l’instruction suivante, sinon, il vérifie le test suivant. - De la même manière, il évalue
test_2
. Si c’esttrue
, il exécute les instructions dans son bloc et le contrôle passe à l’instruction suivante, sinon il vérifiera une autre expression de test.
Enfin, si aucune expression de test n’est évaluée àtrue
, il exécute les instructions dans le blocelse
et le contrôle passe à l’instruction suivante.
main() {
int num = 100;
if(num==0){
print("ZÉRO");
}else if(num>0){
print("POSITIF");
}else{
print("NÉGATIF");
}
}
En fait, num
est affecté à la valeur 100. Puisque l’expression num > 0
est évaluée à true
. L’instruction print("POSITIF")
est exécutée.
Les conditions imbriquées
Il est également possible d’avoir une condition imbriquée à l’intérieur d’une autre. Parfois, vous voudrez tester deux conditions en même temps.
main() {
int num = 50;
if(num>60){
if(num % 2==0){
print("$num est plus grand que 60 et il est pair");
}else{
print("$num est plus grand que 60 et il est impair");
}
}else{
if(num % 2==0){
print("$num est inférieur à 60 et il est pair");
}else{
print("$num est inférieur à 60 et il est impair");
}
}
}
Dans cet exemple nous avons utilisé l’opérateur modulo %
pour vérifier le reste de la division.
Exécution du code.
50 est inférieur à 60 et il est pair
L’opérateur conditionnel ternaire
Les opérateurs ternaires sont une autre façon d’écrire un bloc if-else
, mais en une seule ligne. On les utilises pour écrire des conditions rapides et petites, mais nous ne devrions pas les utiliser pour des vérifications logiques complexes car cela pourrait devenir compliqué..
const score = 80;
String message;
if (score >= 70) {
message = 'Bravo !';
} else {
message = 'Bonne chance dans la prochaine fois !';
}
Voici la syntaxe d’un opérateur conditionnel ternaire :
(condition) ? valueIfTrue : valueIfFalse;
Donc, notre exemple précédent devient :
const score = 80;
const message = (score >= 60) ? 'Bravo !' : 'Bonne chance dans la prochaine fois !';
print(message);
Exécution du code.
Bravo !
Les opérateurs ternaires commencent par une condition, il est conseillé de mettre votre condition entre parenthèses, mais ce n’est pas obligatoire. Ensuite, nous avons un point d’interrogation?
. Tout ce que nous écrivons entre ?
et :
sera exécuté si la condition est vraie, et tout ce que nous écrivons après les deux point :
sera exécuté si la condition est fausse.
Les conditions Dart avec switch
L’instruction switch
aide à éviter d’utiliser une longue chaîne d’instructions if-else
. Cette structure teste la condition dans de multiples cas, et si une correspondance est trouvée, elle exécute le bloc de code associé à ce cas particulier.
Donc, on utilise switch
, lorsqu’il existe de nombreuses conditions possibles pour une seule valeur. De plus, chaque cas dans une instruction switch
doit se terminer par le mot-clé break
afin de quitter le cas actuel. Sinon, vous obtiendrez une erreur.
Voici la syntaxe :
switch(expression){
case a:
//le code du cas a
break;
case b:
//le code du cas b
break;
case c:
//le code du cas c
break;
default:
//le code par default
}
En fait, l’expression est comparée à la valeur de chaque cas. Notez que le type de données de l’expression et des cas doivent être les mêmes. Nous pouvons avoir un nombre illimité de cas de commutation différents. Le programme continuera de vérifier chacun de ces cas de haut en bas. Si un cas correspond, il exécute son bloc de code.
Prenons un exemple :
main()
{
var x = 1;
switch (x) {
case 1:
print("Un");
break;
case 2:
print("Deux");
break;
case 3:
print("Trois");
break;
default:
print("Inconnu");
}
}
Un
Changez la valeur de x pour voir ce qui ce passera. En fait, le bloc par défaut s’exécutera uniquement si la valeur de x n’est pas 1, 2 ou 3.
L’instruction continue
L’instruction continue est utilisée pour exécuter une instruction case
différente. Vous devez utiliser une étiquette avec l’instruction continue et la même étiquette sera utilisée au-dessus de l’instruction requise. break n’est pas nécessaire si vous utilisez continue
.
main() {
var x = 'Deux';
switch (x) {
case 'Un':
print('Un : 1');
break;
case 'Deux':
print('Deux : 2');
continue CasPair;
case 'Trois':
print('Three : 3');
break;
CasPair:
case 'pair':
print("C‘est un nombre pair.");
}
}
Deux : 2
C‘est un nombre pair.
Le programme exécute l’instruction print
qui remplie la condition définie pour le cas ‘Deux’ . Ensuite, il passe directement à case 'pair'
qui est liée à continue
avec le mot CasPair
. Vous pouvez replacer CasPair
et pair
par ce que vous voulez.
Il y a pas meilleur cour en français, merci.
J’apprend sans laptop et je comprend parfaitement
Bon courage.