Aller au contenu

La condition IF

"Le if, c’est le feu rouge de ton programme : il t’arrête ou te laisse passer." 🚦

Un développeur logique

À quoi sert une instruction if ?

L’instruction if permet de tester une condition et d’exécuter un bloc de code uniquement si cette condition est vraie.

C’est le moyen principal de prendre une décision dans un programme.


Syntaxe de base

if (condition)
{
    // instructions à exécuter si la condition est vraie
}

🔹 Si la condition est fausse, ce bloc est ignoré.


Exemple simple

int age = 20;

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

➡️ Ici, le message s’affiche seulement si la personne a 18 ans ou plus.


Avec else

if (condition)
{
    // Si vrai
}
else
{
    // Sinon
}

Exemple :

int heure = 10;

if (heure < 12)
{
    Console.WriteLine("Bonjour !");
}
else
{
    Console.WriteLine("Bon après-midi !");
}

Syntaxe

La condition toujours entre () et pas de ;

Un autre exemple avec opérateur d'affectation et de comparaison

Syntaxe

Avec une variable booléenne

Avec else if

if (condition1)
{
    // Bloc 1
}
else if (condition2)
{
    // Bloc 2
}
else
{
    // Bloc par défaut
}

Exemple :

int note = 14;

if (note >= 16)
{
    Console.WriteLine("Très bien !");
}
else if (note >= 10)
{
    Console.WriteLine("Passable");
}
else
{
    Console.WriteLine("Insuffisant");
}

Comparateurs courants

Symbole Signification
== égal à
!= différent de
< strictement inférieur
<= inférieur ou égal
> strictement supérieur
>= supérieur ou égal

Et les opérateurs logiques : - && (et) : les deux conditions doivent être vraies - || (ou) : au moins une condition doit être vraie


Astuce visuelle

Condition if

Illustration d’un test conditionnel avec plusieurs cas

⚠️ Erreurs fréquentes

  • Oublier les accolades {} quand il y a plusieurs instructions ➜ peut entraîner des comportements inattendus
if (x > 0)
    Console.WriteLine("Positif");
    // Cette ligne s'exécute toujours !
    Console.WriteLine("Fin du test"); 

✅ Utilisez toujours les accolades pour éviter toute confusion.


  • Confondre = (affectation) et == (comparaison)
if (x = 5) // ❌ Erreur : on affecte 5 à x au lieu de le comparer

✅ Toujours utiliser == pour comparer deux valeurs.


  • Oublier le else quand plusieurs cas sont attendus
if (note >= 10)
    Console.WriteLine("Admis");
// Pas de else → les échecs ne sont pas gérés

✅ Prévoir tous les cas possibles avec else ou else if.


  • Tester des expressions trop complexes sans les structurer
if (a > b && b < c || a == d && e != f) // illisible !

✅ Utiliser des parenthèses pour clarifier la logique :

if ((a > b && b < c) || (a == d && e != f))

Avec Opérateur ternaire

Il s'agit ici comme dans le cas des opérateurs d'affectation d'une sorte de raccourci entre l'opérateur conditionnel if...else et l'affectation. Le but étant encore d'optimiser le bytecode engendré.

Syntaxe

Avec Opérateur ternaire ?

L'opérateur ternaire est également appelé Opérateur conditionnel.

Syntaxe

Explication

Syntaxe

Exemple Avec Opérateur ternaire ?

Quiz

Testez vos connaissances ! 📝 Clique sur chaque question pour découvrir la réponse.

1️⃣ Que fait cette instruction ?
if (score >= 50)
{
    Console.WriteLine("Réussi !");
}

A. Affiche toujours "Réussi !"
B. Affiche "Réussi !" si score vaut 50 ou plus
C. Affiche "Réussi !" si score est strictement inférieur à 50
D. Rien, il manque else
E. Affiche "Échec" sinon

✅ Afficher la réponse
Réponse B: La condition est vraie seulement si score >= 50.

2️⃣ Que va afficher ce code ?
int age = 17;
if (age >= 18)
{
    Console.WriteLine("Majeur");
}
else
{
    Console.WriteLine("Mineur");
}

A. Majeur
B. Rien
C. Mineur
D. Erreur
E. 17

✅ Afficher la réponse
Réponse C: La condition est fausse donc on entre dans le else.

3️⃣ Quelle est la bonne syntaxe pour une condition multiple ?

A. if (x > 10 && < 20)
B. if (x > 10 et x < 20)
C. if (x > 10 && x < 20)
D. if x > 10 && x < 20
E. if ((x > 10) ou (x < 20))

✅ Afficher la réponse
Réponse C: && est l'opérateur logique "et" correct en C#.

4️⃣ Quel opérateur signifie “différent de” en C# ?

A. =!
B. !=
C. <>
D. not
E. !==

✅ Afficher la réponse
Réponse B: != est l'opérateur pour "différent de" en C#.

5️⃣ Quel est le résultat de ce code ?
int note = 12;
if (note >= 16)
    Console.WriteLine("Très bien");
else if (note >= 10)
    Console.WriteLine("Passable");
else
    Console.WriteLine("Échec");

A. Très bien
B. Passable
C. Échec
D. Rien
E. 12

✅ Afficher la réponse
Réponse B: La condition note >= 10 est vraie, donc "Passable" s'affiche.


Navigation

Introduction If Switch Travail pratique


Pour aller plus loin