📖 Scenario: You are creating a simple program to check if a person is eligible for a special discount based on their age and membership status.
🎯 Goal: Build a Java program that uses logical operators to decide if a person qualifies for a discount.
📋 What You'll Learn
Create variables for age and membership status
Create a boolean variable for discount eligibility using logical operators
Use if-else to print the eligibility result
💡 Why This Matters
🌍 Real World
Logical operators help decide if conditions are met, like checking eligibility for discounts or access.
💼 Career
Understanding logical operators is essential for writing decision-making code in software development.
Progress0 / 4 steps
1
Create variables for age and membership status
Create an int variable called age and set it to 25. Create a boolean variable called isMember and set it to true.
Java
Hint
Use int for numbers and boolean for true/false values.
2
Create a boolean variable for discount eligibility
Create a boolean variable called eligibleForDiscount that is true if age is greater than or equal to 18andisMember is true. Use the logical AND operator &&.
Java
Hint
Use parentheses to group conditions and && to combine them.
3
Use if-else to print eligibility result
Write an if statement that checks eligibleForDiscount. If true, print "You get a discount!". Otherwise, print "No discount available.".
Java
Hint
Use if and else blocks to print different messages.
4
Run the program to see the output
Run the program and print the output. The program should print You get a discount!.
Java
Hint
Check the console output matches exactly.
Practice
(1/5)
1. Which logical operator in Java means "both conditions must be true"?
easy
A. && (AND)
B. || (OR)
C. ! (NOT)
D. ^ (XOR)
Solution
Step 1: Understand the meaning of logical AND
The operator && means both conditions must be true for the whole expression to be true.
Step 2: Compare with other operators
|| means one or both true, ! reverses true/false, ^ means exclusive or (one true only).
Final Answer:
&& (AND) -> Option A
Quick Check:
Both true = && [OK]
Hint: AND means both true, use && [OK]
Common Mistakes:
Confusing || (OR) with && (AND)
Thinking ! means AND
Mixing up ^ with &&
2. Which of the following is the correct syntax to negate a boolean variable flag in Java?
easy
A. flag = not flag;
B. flag = !flag;
C. flag = ~flag;
D. flag = flag !=;
Solution
Step 1: Recall the NOT operator syntax
In Java, the NOT operator is ! and placed before the boolean variable to reverse its value.
Step 2: Check each option
flag = !flag; uses ! correctly. flag = not flag; uses 'not' which is invalid in Java. flag = ~flag; uses ~ which is bitwise NOT, not for booleans. flag = flag !=; is invalid syntax.
Final Answer:
flag = !flag; -> Option B
Quick Check:
Negate boolean with ! [OK]
Hint: Use ! before boolean to negate it [OK]
Common Mistakes:
Using 'not' instead of !
Using bitwise ~ on booleans
Incorrect syntax like 'flag !=;'
3. What is the output of the following Java code?
boolean a = true; boolean b = false; System.out.println(a && b || !b);
medium
A. false
B. Compilation error
C. true
D. Runtime exception
Solution
Step 1: Evaluate the expression step-by-step
a && b is true && false = false. !b is !false = true.
Step 2: Apply OR operator
Now false || true = true.
Final Answer:
true -> Option C
Quick Check:
(true && false) || !false = true [OK]
Hint: Evaluate && first, then ||, then ! [OK]
Common Mistakes:
Ignoring operator precedence
Evaluating || before &&
Confusing !b value
4. Identify the error in this Java code snippet:
boolean x = true; boolean y = false; if (x & | y) { System.out.println("Yes"); }
medium
A. Invalid use of & | operators together
B. Missing semicolon after if condition
C. Boolean variables cannot be used in if
D. No error, code runs fine
Solution
Step 1: Check the if condition syntax
The condition uses '& |' which is not a valid operator combination in Java.
Step 2: Understand valid logical operators
Valid operators are &&, ||, &, | but not combined as '& |'. This causes a syntax error.
Final Answer:
Invalid use of & | operators together -> Option A
Quick Check:
Operators & and | cannot be combined like '& |' [OK]
Hint: Use && or ||, not mixed & | [OK]
Common Mistakes:
Confusing bitwise & with logical &&
Combining & and | without operand
Thinking no error occurs
5. You want to check if a number n is between 10 and 20 inclusive in Java. Which condition correctly uses logical operators?
hard
A. if (n > 10 && n < 20)
B. if (n >= 10 || n <= 20)
C. if (!(n < 10 && n > 20))
D. if (n >= 10 && n <= 20)
Solution
Step 1: Understand the range condition
To check if n is between 10 and 20 inclusive, both conditions n >= 10 and n <= 20 must be true.
Step 2: Analyze each option
if (n >= 10 || n <= 20) uses || which means either condition true, so it allows numbers outside the range. if (n >= 10 && n <= 20) uses && which correctly requires both conditions true. if (!(n < 10 && n > 20)) negates an impossible condition and is incorrect. if (n > 10 && n < 20) excludes 10 and 20 by using > and <.
Final Answer:
if (n >= 10 && n <= 20) -> Option D
Quick Check:
Both limits true = && [OK]
Hint: Use && to require both conditions true [OK]
Common Mistakes:
Using || instead of && for range
Excluding boundary values by using > or <
Misusing negation for range check
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.