AP CSA 2.5 Exercise 2: Compound Boolean Expressions Applied Practice

Unit 2: Selection and Iteration · Lesson 2.5 · Exercise 2

Compound Boolean Expressions: Applied Practice

Six scenarios on and, or, not, and the short circuit that is doing more work than students think.

How this one is different

The exercise-1 editor asks you to combine conditions. These six ask what gets evaluated and what deliberately does not, because short circuiting is a correctness feature and not just a speed one.

Applied Practice

6 questions · scenario driven · every answer is recorded for your teacher

Question 1 of 6Analyze
A condition reads: if (s != null && s.length() > 0).
Why does the order of the two tests matter?
Incorrect. The VALUES commute but the evaluation does not, which is the whole point.
Correct. Correct. Short circuiting is what makes this idiom safe, not merely fast.
Incorrect. Speed is irrelevant; the concern is an exception.
Incorrect. Precedence is real but is not what protects against the null.
Question 2 of 6Apply
A method with a side effect is called on the right side of a || whose left side is true.
Does the side effect happen?
Correct. Correct, and hiding a needed side effect inside a condition is how this becomes a real bug.
Incorrect. The condition is fully resolved before the body runs.
Incorrect. Short circuiting is guaranteed by the language, not left to the implementation.
Incorrect. That would be true of the non-short-circuit operator |, which is not what is used here.
Question 3 of 6Analyze
A student needs the negation of (x > 5 && y < 10).
Which expression is equivalent?
Incorrect. Right connective, but < 5 and > 10 miss the boundary values 5 and 10.
Incorrect. Correct negations, wrong connective.
Incorrect. Both errors at once: the and should become or, and the negations drop the equality boundary.
Correct. Correct. De Morgan flips the connective and negates each side, and the negation of > is <=.
Question 4 of 6Apply
A condition must be true when exactly one of two booleans is true, never both.
Which expression works?
Incorrect. True only when neither holds.
Incorrect. True only when both hold, the opposite of what is wanted.
Correct. Correct: at least one, and not both. The != operator on booleans expresses the same thing.
Incorrect. Also true when both are true.
Question 5 of 6Evaluate
A student writes if (day == "Sat" || "Sun") intending to test for a weekend.
What is wrong?
Incorrect. The operand types are wrong.
Correct. Correct. Each side of a logical operator must be a complete boolean expression.
Incorrect. It never reaches a truth value.
Incorrect. Requiring both days at once would be worse, and it still would not compile.
Question 6 of 6Analyze
A compound condition mixes && and || without parentheses: a || b && c.
How is it grouped?
Correct. Correct, and parenthesizing anyway is the habit worth having since the reader should not need the table.
Incorrect. It compiles; precedence resolves it.
Incorrect. It is fully specified by the language.
Incorrect. Precedence, not left-to-right order, decides the grouping here.

Where to go next

Get in Touch

Whether you're a student, parent, or teacher — I'd love to hear from you.

Just want free AP CS resources?

Enter your email below and check the subscribe box — no message needed. Students get daily practice questions and study tips. Teachers get curriculum resources and teaching strategies.

Typically responds within 24 hours

Message Sent!

Thanks for reaching out. I'll get back to you within 24 hours.

🏫 Welcome, fellow educator!

I offer curriculum resources, practice materials, and study guides designed for AP CS teachers. Let me know what you're looking for — whether it's classroom materials, a guest speaker, or Teachers Pay Teachers resources.

Email

[email protected]

📚

Courses

AP CSA, CSP, & Cybersecurity

Response Time

Within 24 hours

Prefer email? Reach me directly at [email protected]