If-else syntax

The if-else statement in Java is a fundamental control flow construct that allows you to execute different blocks of code based on certain conditions. Here’s a detailed explanation of the syntax and usage of if-else statements in Java:

Basic if Statement

The if statement evaluates a boolean expression and executes a block of code if the expression is true. The syntax is:

if (condition) {
    // code to be executed if condition is true
}

For example:

int number = 10;
if (number > 0) {
    System.out.println("The number is positive.");
}

if-else Statement

The if-else statement provides an alternative block of code to be executed if the condition is false. The syntax is:

if (condition) {
    // code to be executed if condition is true
} else {
    // code to be executed if condition is false
}

For example:

int number = -5;
if (number > 0) {
    System.out.println("The number is positive.");
} else {
    System.out.println("The number is not positive.");
}

if-else if-else Ladder

When you need to test multiple conditions, you can use an if-else if-else ladder. This structure allows for multiple conditions to be checked in sequence. The syntax is:

if (condition1) {
    // code to be executed if condition1 is true
} else if (condition2) {
    // code to be executed if condition2 is true
} else if (condition3) {
    // code to be executed if condition3 is true
} else {
    // code to be executed if none of the conditions are true
}

For example:

int number = 0;
if (number > 0) {
    System.out.println("The number is positive.");
} else if (number < 0) {
    System.out.println("The number is negative.");
} else {
    System.out.println("The number is zero.");
}

Nested if-else Statements

You can nest if-else statements within each other to handle more complex conditions. The syntax is:

if (condition1) {
    // code to be executed if condition1 is true
    if (condition2) {
        // code to be executed if condition2 is true
    } else {
        // code to be executed if condition2 is false
    }
} else {
    // code to be executed if condition1 is false
}

For example:

int number = 10;
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.");
}

Common Mistakes

Missing Braces: Although braces {} are optional for single statements, it’s a good practice to use them to avoid logical errors and improve code readability.

// Correct
if (number > 0) {
    System.out.println("Positive");
}

// Without braces (can lead to errors)
if (number > 0)
    System.out.println("Positive");

Dangling Else: Ensure that each else matches the correct if. Proper indentation helps avoid confusion.

int a = 5, b = 10;
if (a > b) 
    if (a > 0)
        System.out.println("a is greater than b and positive");
    else
        System.out.println("a is not positive"); // This else corresponds to the inner if

Logical Errors: Ensure conditions are logically correct to avoid unexpected behavior.

int age = 18;
if (age >= 18) {
    System.out.println("Adult");
} else if (age >= 13) {
    System.out.println("Teenager");
} else {
    System.out.println("Child");
}