Compound Boolean Expressions · Expressions booléennes composées
| English | Français |
|---|---|
| AND/ænd/ | AND |
| OR/ɔː/ | OR |
| NOT/nɒt/ | NOT |
| short-circuit evaluation/ʃɔːt ˈsɜːkɪt ɪˌvæljuːˈeɪʃn/ | évaluation en court-circuit |
AND and OR
- Combine conditions with
&&(logical AND 逻辑与) and||(logical OR 逻辑或). a && bistrueonly when both aretrue.a || bistruewhen at least one istrue.- "Is the number between 1 and 10?" →
x >= 1 && x <= 10.
AND et OR
- Combinez des conditions avec
&&(logique AND 逻辑与) et||(logique OR 逻辑或). a && besttrueuniquement lorsque les deux sonttrue.a || besttruelorsque au moins un esttrue.- « Le nombre est-il entre 1 et 10 ? » →
x >= 1 && x <= 10.
NOT reverses
!(logical NOT 逻辑非) flips a Boolean:!trueisfalse,!falseistrue.!(x > 5)istrueexactly whenxis not greater than5.- NOT applies to the expression right after it — use parentheses for clarity.
- Double negation cancels:
!!aequalsa.
NOT inverse
!(logique NOT 逻辑非) inverse un booléen :!trueestfalse,!falseesttrue.!(x > 5)esttrueexactement lorsquexn'est pas supérieur à5.- NOT s'applique à l'expression juste après lui — utilisez des parenthèses pour plus de clarté.
- La double négation s'annule :
!!aest égal àa.
Short-circuit evaluation
&&and||stop as soon as the answer is known — this is short-circuit evaluation 短路求值.- For
a && b: ifaisfalse, the result isfalseandbis never evaluated. - For
a || b: ifaistrue, the result istrueandbis skipped. - This lets you guard:
x != 0 && 10 / x > 2avoids dividing by zero.
Évaluation en court-circuit
&&et||s'arrêtent dès que la réponse est connue — c'est l'évaluation en court-circuit 短路求值.- Pour
a && b: siaestfalse, le résultat estfalseetbn'est jamais évalué. - Pour
a || b: siaesttrue, le résultat esttrueetbest ignoré. - Cela permet de protéger :
x != 0 && 10 / x > 2évite la division par zéro.
Truth tables and parentheses
- A truth table lists every combination of inputs and the expression's result.
- With two variables there are $4$ rows; build one to check tricky logic.
- Use parentheses to make precedence explicit:
(a && b) || c. - Without them,
&&binds tighter than||— a common source of confusion.
Tables de vérité et parenthèses
- Une table de vérité liste toutes les combinaisons d'entrées et le résultat de l'expression.
- Avec deux variables, il y a $4$ lignes ; construisez-en une pour vérifier la logique délicate.
- Utilisez des parenthèses pour rendre la priorité explicite :
(a && b) || c. - Sans elles,
&&se lie plus fortement que||— une source commune de confusion.
Short-circuiting isn't just an optimization — it can prevent errors. In x != 0 && 10 / x > 2, if x is 0 the left side is false, so Java never evaluates 10 / x and avoids a divide-by-zero. Swap the order and it crashes. Also, && binds tighter than ||, so parenthesize mixed expressions to say exactly what you mean.
Le court-circuit n'est pas seulement une optimisation — il peut prévenir des erreurs. Dans x != 0 && 10 / x > 2, si x est 0, le côté gauche est false, donc Java n'évalue jamais 10 / x et évite une division par zéro. Inversez l'ordre et ça plante. De plus, && se lie plus fortement que ||, donc mettez des parenthèses dans les expressions mixtes pour dire exactement ce que vous voulez.
Is x outside 1–10?
x < 1 || x > 10→truewhenxis too small or too big.x = 15→false || true→true(outside).x = 5→false || false→false(inside).
x est-il en dehors de 1–10 ?
x < 1 || x > 10→truelorsquexest trop petit ou trop grand.x = 15→false || true→true(en dehors).x = 5→false || false→false(dedans).
Combine conditions with && (both true), || (at least one true), and ! (reverse). Java uses short-circuit evaluation: &&/|| stop once the result is known (handy for guards like x != 0 && 10/x > 2). Build a truth table for tricky logic and use parentheses — && binds tighter than ||.
Combinez des conditions avec && (tous vrais), || (au moins un vrai), et ! (inverse). Java utilise l'évaluation en court-circuit : &&/|| s'arrêtent dès que le résultat est connu (pratique pour les gardes comme x != 0 && 10/x > 2). Construisez une table de vérité pour la logique délicate et utilisez des parenthèses — && se lie plus fortement que ||.
AND of two conditions · ET de deux conditions
&& is true only when both inputs are true. · && est vrai uniquement lorsque les deux entrées sont vraies.
a && b is true when... · a && b est vrai lorsque...
&& (AND) needs both operands true. · && (ET) nécessite que les deux opérandes soient vrais.
In a && b, if a is false, then b is... · Dans a && b, si a est faux, alors b est...
&& short-circuits: a false left side makes the result false immediately. · && court-circuite : un côté gauche faux rend immédiatement le résultat faux.
!(true) evaluates to false. · !(true) évalue à false.
! reverses the Boolean value. · ! inverse la valeur booléenne.
With x = 5, what does x < 1 || x > 10 evaluate to? · Avec x = 5, que donne l'évaluation de x < 1 || x > 10 ?
false || false → false (5 is inside 1..10). · false || false → false (5 est compris dans 1..10).
The behavior where && and || stop as soon as the result is known is called ___-circuit evaluation (one word). · Le comportement où && et || s'arrêtent dès que le résultat est connu s'appelle l'évaluation ___-circuit (un mot).
Short-circuit evaluation stops early. · L'évaluation par court-circuit s'arrête prématurément.