| Study Guides
Computer Science A · College Board AP CS A CED Unit 3 · 16 min read · Updated 2026-05-11

Boolean Expressions and If Statements — AP Computer Science A

AP Computer Science A · College Board AP CS A CED Unit 3 · 16 min read

1. Boolean Operators ★★☆☆☆ ⏱ 3 min

Java uses three core boolean operators to combine or modify logical statements, ordered from highest to lowest precedence. All boolean expressions evaluate to one of two values: `true` or `false`.

2. Short-circuit Evaluation ★★★☆☆ ⏱ 3 min

The `&&` and `||` operators in Java use short-circuit evaluation: if the value of the first operand is sufficient to determine the final result, the second operand is never executed. This feature prevents common runtime errors.

  • For `&&`: If the first operand is `false`, the entire expression is always `false`, so the second operand is skipped.
  • For `||`: If the first operand is `true`, the entire expression is always `true`, so the second operand is skipped.

3. Compound Conditions ★★☆☆☆ ⏱ 3 min

Compound conditions are boolean expressions that combine two or more simple conditions using `&&`, `||`, and `!` to implement complex decision rules for `if`, `while`, and `for` statements.

The most common error with compound conditions comes from operator precedence: `&&` always evaluates before `||`, so you must use parentheses to explicitly group related conditions.

4. De Morgan's Laws ★★★★☆ ⏱ 4 min

De Morgan's laws describe how the negation operator distributes over `&&` and `||`, and are the most frequently tested subtopic on this unit. They are used to simplify complex boolean expressions or rewrite them to equivalent, readable forms.

\neg (A \land B) \equiv \neg A \lor \neg B

\neg (A \lor B) \equiv \neg A \land \neg B

In plain language: the negation of "A and B" is "not A or not B", and the negation of "A or B" is "not A and not B". When negating inequalities, always flip the direction of the inequality sign: $\neg(x > 5) \equiv x \leq 5$ and $\neg(x \leq 2) \equiv x > 2$.

5. Equivalent Boolean Expressions ★★★☆☆ ⏱ 4 min

Two boolean expressions are equivalent if they return the same `true`/`false` result for every possible set of input values. AP CS A multiple-choice questions frequently ask to identify an equivalent expression from a list of options.

  1. Apply De Morgan's laws to rewrite negated compound conditions
  2. Use the commutative property: $A \land B \equiv B \land A$ and $A \lor B \equiv B \lor A$
  3. Rewrite inequalities to equivalent forms (e.g. $x > 10 \equiv 10 < x$, $x != 7 \equiv \neg(x == 7)$)
  4. Test with edge values: plug in boundary values to confirm both expressions match

Common Pitfalls

Why: This assigns 5 to `x` and always evaluates to `true` for numeric values, leading to unintended behavior from mixing up assignment and equality syntax.

Why: When `x=0`, the division runs before the zero check, causing a division by zero error. Students often write conditions in the order they think of them, not the order required for safety.

Why: Students rush through simplification and forget to negate each individual condition after distributing the negation, leading to logically incorrect code.

Why: Students assume `&&` and `||` have equal precedence, but `&&` evaluates before `||`, leading to unintended evaluation order that does not match the intended logic.

Why: Bitwise operators do not short-circuit, so `(x !=0 & 10/x >2)` will still throw a division by zero error when `x=0`, even though the logical result is the same when both operands execute.

Quick Reference Cheatsheet

← Back to topic

Stuck on a specific question?
Snap a photo or paste your problem — Ollie (our AI tutor) walks through it step-by-step with diagrams.
Try Ollie free →