⚙️ Les opérateurs logiques en Java


Les opérateurs logiques permettent de combiner des conditions. Ils sont essentiels pour construire des expressions complexes dans les structures comme if, while, etc.

Ils s’appliquent sur des booléens (true ou false) et renvoient eux-mêmes un booléen.


🧪 Les 3 opérateurs logiques principaux

OpérateurNomFonction principaleExempleRésultat
&&ET logiqueVrai seulement si les deux conditions sont vraiestrue && truetrue
||OU logiqueVrai si au moins une condition est vraietrue || falsetrue
!NON logiqueInverse la valeur (vrai devient faux, et vice-versa)!truefalse

🧠 Tableau de vérité

1. && (ET logique)

ABA && B
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

2. || (OU logique)

ABA || B
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

3. ! (NON logique)

A!A
truefalse
falsetrue

💬 Exemples simples

int age = 20;
boolean citoyen = true;

// Vrai seulement si les deux conditions sont vraies
if (age >= 18 && citoyen) {
    System.out.println("Tu peux voter !");
}
boolean ilPleut = true;
boolean aParapluie = false;

if (ilPleut && !aParapluie) {
    System.out.println("Tu vas être mouillé !");
}

⚠️ Attention à la priorité des opérateurs

Priorité (ordre d’évaluation)Opérateur
Haute!
Moyenne&&
Basse||

Tu peux utiliser des parenthèses pour forcer l’ordre :

if ((age > 18 || citoyen) && !malade) {
    // ...
}

📦 Utilisation typique : combiner plusieurs conditions

Exemple :

int note = 85;

if (note >= 60 && note <= 100) {
    System.out.println("Réussi !");
}

🔍 Résumé visuel

SymboleNomUtilité principale
&&ETToutes les conditions doivent être vraies
||OUUne seule condition doit être vraie
!NONInverse une condition

🎯 Astuce logique

Tu peux combiner plusieurs opérateurs :

if ((age >= 18 && citoyen) || estMajeurEmancipe) {
    System.out.println("Tu es légalement un adulte.");
}

🧪 Mini quiz (mental)

boolean a = true;
boolean b = false;

System.out.println(a && b);   // ?
System.out.println(a || b);   // ?
System.out.println(!a);       // ?
Réponses
false
true
false

🟢 Exercice 1 – Vrai ou faux ? (Quiz rapide)

boolean a = true;
boolean b = false;

System.out.println(a && b);     // ?
System.out.println(!b);         // ?
System.out.println(a || b);     // ?
System.out.println(!(a && b));  // ?

✏️ Question : Indique ce qui s’affiche à chaque ligne.


🟡 Exercice 2 – Peut-il conduire ?

Écris une comparaison qui vérifie si une personne peut conduire en fonction de son age et si elle a le permis.

Critères pour pouvoir conduire:

  • Elle a 18 ans ou plus et elle possède un permis.
int age = 20;
boolean aLePermis = true;

// Complète ici

💡 Astuce : Utilise && pour combiner les deux conditions.


🟡 Exercice 3 – Accès restreint

On veut donner accès à un site seulement si l’utilisateur est :

  • Membre ou admin,
  • Et pas banni.

Complète :

boolean estMembre = true;
boolean estAdmin = false;
boolean estBanni = false;

💡 Tu devras utiliser || et !.


🟠 Exercice 4 – Pluie et parapluie

Écris un programme qui affiche true si tu es mouillé:

boolean ilPleut = true;
boolean aParapluie = false;

// Complète ici