Bird
Raised Fist0
Javaprogramming~15 mins

Nested if statements in Java - Mini Project: Build & Apply

Choose your learning style10 modes available
Nested if statements
📖 Scenario: You are creating a simple program to check a person's age and citizenship to decide if they are eligible to vote.
🎯 Goal: Build a Java program that uses nested if statements to check if a person is at least 18 years old and is a citizen. If both conditions are true, print "Eligible to vote"; otherwise, print "Not eligible to vote".
📋 What You'll Learn
Create an integer variable age with the value 20
Create a boolean variable isCitizen with the value true
Use nested if statements to check age and isCitizen
Print the exact text "Eligible to vote" if conditions are met
Print the exact text "Not eligible to vote" if conditions are not met
💡 Why This Matters
🌍 Real World
Checking eligibility for voting is a common real-world decision based on multiple conditions like age and citizenship.
💼 Career
Understanding nested if statements is essential for writing clear decision-making code in many programming jobs.
Progress0 / 4 steps
1
Create variables for age and citizenship
Create an integer variable called age and set it to 20. Create a boolean variable called isCitizen and set it to true.
Java
Hint

Use int for age and boolean for isCitizen.

2
Add nested if statements to check age and citizenship
Inside the main method, add a nested if statement that first checks if age is greater than or equal to 18. Inside this if, add another if that checks if isCitizen is true.
Java
Hint

Use nested if statements: one inside the other.

3
Add print statements inside nested if and else blocks
Inside the nested if where isCitizen is true, add System.out.println("Eligible to vote");. Add an else block for the inner if that prints "Not eligible to vote". Also add an else block for the outer if that prints "Not eligible to vote".
Java
Hint

Use System.out.println inside each block to print the correct message.

4
Print the final eligibility result
Run the program and print the output. The program should print Eligible to vote because age is 20 and isCitizen is true.
Java
Hint

Check the console output after running the program.

Practice

(1/5)
1. What does a nested if statement mean in Java?
easy
A. An if statement without any condition
B. An if statement with multiple conditions joined by ||
C. An if statement inside another if statement
D. An if statement that runs only once

Solution

  1. Step 1: Understand the meaning of nested if

    A nested if means placing one if statement inside another to check conditions step-by-step.
  2. Step 2: Compare options

    Only An if statement inside another if statement describes an if inside another if. Others describe different concepts.
  3. Final Answer:

    An if statement inside another if statement -> Option C
  4. Quick Check:

    Nested if = if inside if [OK]
Hint: Look for 'if inside if' meaning nested [OK]
Common Mistakes:
  • Confusing nested if with multiple conditions in one if
  • Thinking nested if runs only once
  • Ignoring the inner if statement
2. Which of the following is the correct syntax for a nested if statement in Java?
easy
A. if (x > 0) if y > 0 { System.out.println("Both positive"); }
B. if (x > 0) { if (y > 0) { System.out.println("Both positive"); } }
C. if x > 0 { if y > 0 { System.out.println("Both positive"); } }
D. if (x > 0) { if (y > 0) System.out.println("Both positive") }

Solution

  1. Step 1: Check Java syntax rules for if

    Java requires parentheses around conditions and braces for blocks.
  2. Step 2: Validate each option

    if (x > 0) { if (y > 0) { System.out.println("Both positive"); } } uses correct parentheses and braces. if (x > 0) if y > 0 { System.out.println("Both positive"); } misses parentheses around y > 0. if x > 0 { if y > 0 { System.out.println("Both positive"); } } misses parentheses and braces. if (x > 0) { if (y > 0) System.out.println("Both positive") } misses semicolon after println.
  3. Final Answer:

    if (x > 0) { if (y > 0) { System.out.println("Both positive"); } } -> Option B
  4. Quick Check:

    Correct syntax = if (x > 0) { if (y > 0) { System.out.println("Both positive"); } } [OK]
Hint: Remember: conditions need parentheses, blocks need braces [OK]
Common Mistakes:
  • Omitting parentheses around conditions
  • Forgetting braces for nested blocks
  • Missing semicolons after statements
3. What will be the output of this code?
int a = 5;
int b = 10;
if (a > 0) {
if (b < 5) {
System.out.println("Inside inner if");
} else {
System.out.println("Inside else of inner if");
}
} else {
System.out.println("Inside outer else");
}
medium
A. Inside else of inner if
B. Inside outer else
C. Inside inner if
D. No output

Solution

  1. Step 1: Evaluate outer if condition

    a = 5, so a > 0 is true, enter outer if block.
  2. Step 2: Evaluate inner if condition

    b = 10, b < 5 is false, so else block of inner if runs.
  3. Final Answer:

    Inside else of inner if -> Option A
  4. Quick Check:

    Outer if true, inner if false -> inner else [OK]
Hint: Check outer if first, then inner if conditions [OK]
Common Mistakes:
  • Ignoring the else block of inner if
  • Confusing outer else with inner else
  • Assuming no output if inner if false
4. Find the error in this nested if code:
int x = 10;
if (x > 5)
if (x < 20)
System.out.println("x is between 5 and 20");
else
System.out.println("x is 5 or less");
medium
A. Missing braces causing else to pair with wrong if
B. Incorrect condition syntax
C. Missing semicolon after println
D. Variable x not declared

Solution

  1. Step 1: Analyze if-else pairing without braces

    Without braces, else pairs with nearest if, here inner if.
  2. Step 2: Understand the logic error

    Else prints "x is 5 or less" only if x >= 20, which is wrong logically.
  3. Final Answer:

    Missing braces causing else to pair with wrong if -> Option A
  4. Quick Check:

    Braces fix else pairing [OK]
Hint: Use braces to avoid else pairing mistakes [OK]
Common Mistakes:
  • Assuming else pairs with outer if
  • Ignoring braces importance
  • Thinking syntax error instead of logic error
5. You want to write a nested if to check if a number is positive and even. Which code correctly does this?
hard
A. if (num > 0) { if (num % 2 = 0) { System.out.println("Positive even"); } }
B. if (num > 0 && num % 2 == 0) System.out.println("Positive even");
C. if (num > 0) if (num / 2 == 0) System.out.println("Positive even");
D. if (num > 0) { if (num % 2 == 0) { System.out.println("Positive even"); } }

Solution

  1. Step 1: Check condition for positive number

    First if checks if num > 0, correct for positive check.
  2. Step 2: Check condition for even number inside first if

    Inner if uses num % 2 == 0, correct for even check.
  3. Final Answer:

    if (num > 0) { if (num % 2 == 0) { System.out.println("Positive even"); } } -> Option D
  4. Quick Check:

    Nested if with correct conditions = if (num > 0) { if (num % 2 == 0) { System.out.println("Positive even"); } } [OK]
Hint: Use % 2 == 0 to check even inside positive check [OK]
Common Mistakes:
  • Using single = instead of == in condition
  • Using division instead of modulo for even check
  • Combining conditions without nesting
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard