AP CSA 2.2 Exercise 2: Boolean Expressions Applied Practice

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

Boolean Expressions: Applied Practice

Six scenarios on expressions that evaluate to true or false, and the operator that is not the one students reach for.

How this one is different

The exercise-1 editor asks you to write conditions. These six ask what a condition actually evaluates to, and which comparison is legal for which type.

Applied Practice

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

Question 1 of 6Analyze
A student writes if (x = 5) intending to test whether x equals 5.
What happens?
Incorrect. Same reason: it fails at compile time rather than evaluating.
Incorrect. Equality is ==. A single = is assignment.
Correct. Correct in Java specifically. In C this would compile and mislead; Java's type rule catches it.
Incorrect. There is no boolean value for the if to consume, so it never reaches a truth value.
Question 2 of 6Apply
Two String variables both hold the text "hello" but were built separately at run time.
What does s1 == s2 report?
Incorrect. Content matching is what .equals tests, not ==.
Correct. Correct, and "possibly" is the honest word: literals may be interned and compare true, which is what makes the bug intermittent.
Incorrect. == is legal between two references; it just answers a different question.
Incorrect. Two references to the same object compare true.
Question 3 of 6Apply
A condition must be true when a value is outside the range 10 to 20 inclusive.
Which expression is correct?
Correct. Correct. "Outside" is a union of two regions, which is or.
Incorrect. Chained comparison does not compile in Java; the first comparison yields a boolean that cannot be compared to 20.
Incorrect. That is the negation, so it is true INSIDE the range.
Incorrect. No number is both below 10 and above 20, so this is always false.
Question 4 of 6Analyze
A method returns a boolean and a student writes if (isReady() == true).
What is the assessment?
Incorrect. Comparing a boolean to a boolean literal is legal.
Incorrect. Comparing to true preserves the value.
Incorrect. The comparison adds nothing the if did not already have.
Correct. Correct, and the danger is the neighbouring typo: == true is harmless, while = true would be an assignment.
Question 5 of 6Evaluate
A program compares two double values for exact equality with ==.
Why is that risky?
Incorrect. double is a primitive and has no methods.
Incorrect. Comparison is legal; exactness is what is unreliable.
Correct. Correct, and the usual fix is testing whether the difference is smaller than a small tolerance.
Incorrect. It returns true whenever the bit patterns match, which does happen.
Question 6 of 6Apply
A condition must be true only when a number is even.
Which test does that?
Incorrect. Integer division by 2 is 0 only for n equal to 0 or 1, not for even numbers generally.
Correct. Correct. A remainder of 0 on division by 2 is the definition of even.
Incorrect. That tests odd, and it also fails for negative odd numbers, where the remainder is -1.
Incorrect. True only when n is 0.

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]