Bird
Raised Fist0
Javaprogramming~5 mins

Nested if statements in Java

Choose your learning style10 modes available
Introduction

Nested if statements help you check multiple conditions step by step. They let you make decisions inside other decisions.

When you want to check if a number is positive and then check if it is even or odd.
When you need to verify a password and then check if the user has admin rights.
When you want to decide what to wear based on weather and then based on temperature.
When you want to check if a student passed and then check if they got honors.
When you want to check if a store is open and then check if a product is in stock.
Syntax
Java
if (condition1) {
    if (condition2) {
        // code to run if both conditions are true
    }
}
The second if is inside the first if's block, so it runs only if the first condition is true.
You can have many levels of nested ifs, but keep it simple to avoid confusion.
Examples
This checks if someone is older than 18 and then if they have a license before saying they can drive.
Java
if (age > 18) {
    if (hasLicense) {
        System.out.println("Can drive");
    }
}
This checks if the score is passing, then if it is very high for a special grade.
Java
if (score >= 50) {
    if (score >= 90) {
        System.out.println("Grade A");
    } else {
        System.out.println("Passed");
    }
}
Sample Program

This program checks if a number is positive. If yes, it then checks if it is even or odd and prints the result.

Java
public class NestedIfExample {
    public static void main(String[] args) {
        int number = 12;
        if (number > 0) {
            if (number % 2 == 0) {
                System.out.println("The number is positive and even.");
            } else {
                System.out.println("The number is positive and odd.");
            }
        } else {
            System.out.println("The number is not positive.");
        }
    }
}
OutputSuccess
Important Notes

Nested ifs help organize checks that depend on earlier checks.

Too many nested ifs can make code hard to read, so use them carefully.

Summary

Nested if statements let you check one condition inside another.

They are useful for step-by-step decision making.

Keep nesting simple to keep your code clear.

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