๐ฏ Learning Objectives
- Understand what a truth table is
- Evaluate Boolean expressions using truth tables
- Apply logical operators used in Java (
&&,||,!) - Predict results of complex conditional statements
- Debug logical errors using truth tables
๐ง What is a Truth Table?
A truth table is a chart that shows:
- All possible combinations of Boolean values
- The result of logical expressions
Boolean values:
true
false
Truth tables help programmers understand how logical conditions behave.
โ๏ธ Boolean Logic in Java
Java uses Boolean expressions inside:
ifstatementswhileloops- comparisons
- decision-making code
Example:
if(score > 70 && attendance > 90)
{
System.out.println("Pass");
}
๐ Java Logical Operators
| Operator | Name | Meaning |
|---|---|---|
&& |
AND | Both must be true |
|| |
OR | At least one true |
! |
NOT | Reverse the value |
Operator precedence in Java:
! first, then &&, then ||.
๐ Truth Table: AND Operator (&&)
Rule: TRUE only when BOTH conditions are true.
| A | B | A && B |
|---|---|---|
| true | true | true |
| true | false | false |
| false | true | false |
| false | false | false |
Java Example
boolean result = (x > 5 && y < 10);
๐ Truth Table: OR Operator (||)
Rule: TRUE when at least ONE condition is true.
| A | B | A || B |
|---|---|---|
| true | true | true |
| true | false | true |
| false | true | true |
| false | false | false |
Java Example
boolean result = (age >= 18 || hasPermission);
๐ Truth Table: NOT Operator (!)
Rule: Reverse the Boolean value.
| A | !A |
|---|---|
| true | false |
| false | true |
Java Example
boolean result = !(score >= 70);
๐ Combining Operators (Advanced)
Java allows combining multiple logical operators.
Example:
boolean result = (x > 10 && y < 5) || z == 3;
How to evaluate:
- Evaluate inside parentheses first
- Apply AND before OR (unless parentheses change it)
๐งฉ Truth Table Example (Combined Expression)
Expression:
(A && B) || C
| A | B | C | A && B | (A && B) || C |
|---|---|---|---|---|
| T | T | T | T | T |
| T | T | F | T | T |
| T | F | T | F | T |
| T | F | F | F | F |
| F | T | T | F | T |
| F | T | F | F | F |
| F | F | T | F | T |
| F | F | F | F | F |
๐ฅ Real Java Example
boolean passedExam = true;
boolean completedHomework = false;
boolean teacherOverride = true;
boolean canPass = (passedExam && completedHomework) || teacherOverride;
Result: TRUE because teacherOverride is true.
๐ Why Truth Tables Matter
Truth tables help programmers:
- Predict program behavior
- Design correct conditional statements
- Debug logical errors
- Understand complex Boolean expressions
- Prepare for AP CSA exam questions
๐งช Step-by-Step Method for Students
When building a truth table:
- List variables (
A,B,Cโฆ) - Write ALL combinations of true/false
- Evaluate smaller parts first
- Fill in columns step by step
- Compute final result
๐ฅ Common Student Mistakes
โ Mixing up AND vs OR
AND: Both true
OR: At least one true
โ Forgetting parentheses
Harder to read:
x > 5 && y < 10 || z == 3
Better:
(x > 5 && y < 10) || z == 3
โ Ignoring precedence: Java evaluates
! then && then ||.
Use parentheses to make your intention clear.
๐ฅ Advanced Example (AP CSA Level)
Expression:
!(A || B) && C
| A | B | C | A || B | !(A || B) | Final |
|---|---|---|---|---|---|
| T | T | T | T | F | F |
| T | T | F | T | F | F |
| T | F | T | T | F | F |
| T | F | F | T | F | F |
| F | T | T | T | F | F |
| F | T | F | T | F | F |
| F | F | T | F | T | T |
| F | F | F | F | T | F |
๐งฑ Real Programming Use Cases
Truth tables are useful when:
- Designing login validation
- Game logic decisions
- Filtering conditions
- Security access checks
- Data validation
๐จโ๐ซ Teacher Tip: Break complex conditions into smaller columns when building a truth table.