CodeGym /Cours /C# SELF /L'opérateur conditionnel : if else

L'opérateur conditionnel : if else

C# SELF
Niveau 3, Leçon 1
Disponible

1. L'opérateur if else

Les programmes ne serviraient pas à grand-chose s'ils faisaient toujours la même chose, peu importe ce qui se passe autour. Un programme doit pouvoir s'adapter à différentes situations et faire certaines actions dans certains cas, d'autres dans d'autres cas.

En C#, ça se fait avec l'opérateur conditionnel — un mot-clé spécial qui te permet d'exécuter différents blocs de commandes selon si la condition est vraie ou pas.

L'opérateur conditionnel a trois parties : condition, commande 1 et commande 2. Si condition est vraie, commande 1 s'exécute, sinon c'est commande 2. Les commandes ne s'exécutent jamais en même temps. La forme générale de cet opérateur ressemble à ça :

if (condition)
   commande1;
else
   commande2;
Opérateur conditionnel if-else

if veut dire "si", et else c'est "sinon". En langage humain, ça donne :

Si condition est vraie, alors
   exécuter commande1;
sinon
   exécuter commande2;
Opérateur conditionnel if-else en langage humain

Exemples :

//À l'écran s'affichera : Tu es encore un enfant

int age = 17;
if (age < 18)
   Console.WriteLine("Tu es encore un enfant");
else
   Console.WriteLine("Tu es déjà adulte");
//À l'écran s'affichera : Il fait doux

int temperature = 5;
if (temperature < 0)
   Console.WriteLine("Il gèle dehors");
else
   Console.WriteLine("Il fait doux");
//À l'écran s'affichera : Tu peux passer le permis

int age = 18;
if (age == 18)
   Console.WriteLine("Tu peux passer le permis");
else
   Console.WriteLine("Tu peux économiser pour une voiture");

2. Bloc de commandes

Si tu veux que ton programme exécute plusieurs commandes quand la condition est (ou n'est pas) remplie, tu peux les regrouper dans un bloc de commandes.

Pour faire un bloc, il faut "enrouler" les commandes dans des accolades. Voilà à quoi ça ressemble en général :

{
   commande1;
   commande2;
   commande3;
}

Il peut y avoir autant de commandes que tu veux dans un bloc. Même zéro.

Exemples de combinaison de l'opérateur if-else et d'un bloc de commandes :

//À l'écran s'affichera : Tu es encore un enfant. Ne discute pas avec les adultes

int age = 17;
if (age < 18)
{
   Console.WriteLine("Tu es encore un enfant");
   Console.WriteLine("Ne discute pas avec les adultes");
}
else
{
   Console.WriteLine("Tu es déjà adulte");
   Console.WriteLine("Ah, cette jeunesse !");
}
//À l'écran s'affichera : Il fait doux

int temperature = 5;
if (temperature < 0)
{
   Console.WriteLine("Il gèle dehors");
   Console.WriteLine("Mets un bonnet");
}
else
   Console.WriteLine("Il fait doux");
//Un bloc vide sera exécuté. Rien ne s'affichera à l'écran. 

int age = 21;
if (age == 18)
   Console.WriteLine("Présente-toi à la caserne");
else
{
}

3. Syntaxe raccourcie de l'opérateur if

Si le bloc else n'a pas de code, tu peux le zapper. L'opérateur if devient alors :

if (condition)
   commande1;
Opérateur conditionnel if

Exemple :

int age = 19;
if (age >= 18)
{
    Console.WriteLine("Tu es majeur !");
}

Comment ça marche ?

Si la condition est vraie, le bloc de code s'exécute. Si c'est faux, il ne se passe rien — le programme continue.

Le bloc else existe dans le programme, mais il est vide (rien entre les accolades). Tu peux juste l'enlever : ça ne changera rien au programme.

4. Combiner les conditions : else if

Parfois, tu dois vérifier plus que "oui/non", genre choisir entre plusieurs options. C'est là que else if arrive :

if (condition1)
{
    // S'exécute si condition1 est vraie
}
else if (condition2)
{
    // S'exécute si condition2 est vraie et condition1 est fausse
}
else
{
    // S'exécute si aucune des conditions ci-dessus ne marche
}

Exemple :

int hour = 13;
if (hour < 12)
{
    Console.WriteLine("Bonjour !");
}
else if (hour < 18)
{
    Console.WriteLine("Bon après-midi !");
}
else
{
    Console.WriteLine("Bonsoir !");
}

Qu'est-ce qui se passe ici ?

  • Si l'heure est avant 12 — c'est le matin.
  • Si c'est entre 12 et 18 — c'est l'après-midi.
  • Si c'est plus — c'est le soir.
  • Le programme choisit UNE SEULE option ! Dès qu'une condition passe — les autres ne sont même pas testées.

5. Illustration schématique : diagramme de branchement

Voilà à quoi ça ressemble en schéma :

Et si tu as plusieurs conditions :

Ça fait vraiment penser aux embranchements dans les jeux de rôle sur table : tu vas à gauche — un truc, à droite — un autre, tout droit — encore autre chose !

6. Quelles conditions tu peux tester ?

Dans les parenthèses après if il faut une expression LOGIQUE — qui donne true ou false.

Les principaux opérateurs de comparaison :

Opérateur Signification Exemple
== Égal à x == 5
!= Différent de x != 10
> Supérieur à x > 0
< Inférieur à age < 18
>= Supérieur ou égal à score >= 100
<= Inférieur ou égal à count <= 50

Exemples de conditions :

if (number == 10)
if (age != 18)
if (temperature > 36)
if (balance <= 0)

Attention : = (un seul signe) — c'est une affectation. == (deux signes) — c'est une comparaison. C'est une des erreurs les plus fréquentes chez les débutants ! Si tu écris par erreur :

if (x = 5) // ERREUR !

— le compilateur va râler, et il aura raison.

7. Travailler avec les chaînes dans les conditions

Tu peux comparer pas seulement des nombres, mais aussi des chaînes :

string password = Console.ReadLine();
if (password == "qwerty")
{
    Console.WriteLine("Tu es connecté !");
}

Attention : comparer des chaînes avec == en C# marche bien dans les cas classiques, car ça compare le contenu des chaînes (et pas juste les références d'objet). On parlera plus en détail des subtilités de la comparaison de chaînes quand on abordera les méthodes sur les strings et la localisation.

8. Particularités et nuances :

Les accolades : obligatoires ou pas ?

Si après if ou else il n'y a qu'une seule commande, tu peux zapper les accolades :

if (age > 18)
    Console.WriteLine("Tu as plus de 18 ans !");

// Mais c'est plus sûr de TOUJOURS les mettre :
if (age > 18)
{
    Console.WriteLine("Tu as plus de 18 ans !");
}

Conseil : mets toujours les accolades. Ça t'évite plein d'erreurs, surtout quand tu ajoutes du code plus tard.

Erreurs logiques : fais gaffe aux conditions !

Si tu écris comme ça :

if (age > 18)
    Console.WriteLine("Tu as plus de 18 ans !");
    Console.WriteLine("Bienvenue !");

Le compilateur va lire ce code comme ça :

if (age > 18)
{
    Console.WriteLine("Tu as plus de 18 ans !");
}

Console.WriteLine("Bienvenue !");

La deuxième ligne sera toujours exécutée — les accolades sont là pour que les deux lignes soient dans la même "branche".

2
Mission
C# SELF, niveau 3, leçon 1
Bloqué
Classification de la température
Classification de la température
2
Mission
C# SELF, niveau 3, leçon 1
Bloqué
Vérification du mot de passe
Vérification du mot de passe
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION