DEV Community

silambarasan rajendran
silambarasan rajendran

Posted on

day-40: Conditional Statements in Java

Conditional statements allow you to control the flow of your program based on different conditions. Java supports the following types:

1). if statement
2). if-else statement
3). if-else-if ladder
4). Nested if
5). switch-case statement

*1). if Statement *
Executes a block of code only if the condition is true.

Syntax

if (condition) {
    // Code to execute if condition is true
}
Enter fullscreen mode Exit fullscreen mode

Example

int age = 18;
if (age >= 18) {
    System.out.println("You are an adult.");
}
Enter fullscreen mode Exit fullscreen mode

Output:
You are an adult.

*2). if-else Statement *
Executes one block if the condition is true, and another if false.

Syntax

if (condition) {
    // Code if true
} else {
    // Code if false
}
Enter fullscreen mode Exit fullscreen mode

Example

int num = 10;
if (num % 2 == 0) {
    System.out.println("Even");
} else {
    System.out.println("Odd");
}
Enter fullscreen mode Exit fullscreen mode

Output:
Even

3). if-else-if Ladder
Checks multiple conditions in sequence.

Syntax

if (condition1) {
    // Code if condition1 is true
} else if (condition2) {
    // Code if condition2 is true
} else {
    // Code if all conditions are false
}
Enter fullscreen mode Exit fullscreen mode

Example (Grading System)

int marks = 85;
if (marks >= 90) {
    System.out.println("Grade A");
} else if (marks >= 80) {
    System.out.println("Grade B");
} else if (marks >= 70) {
    System.out.println("Grade C");
} else {
    System.out.println("Grade D");
}
Enter fullscreen mode Exit fullscreen mode

Output:
Grade B

4). Nested if
An if inside another if.

Syntax

if (condition1) {
    if (condition2) {
        // Code if both conditions are true
    }
}
Enter fullscreen mode Exit fullscreen mode

Example (Login System)

String username = "admin";
String password = "12345";

if (username.equals("admin")) {
    if (password.equals("12345")) {
        System.out.println("Login successful!");
    } else {
        System.out.println("Wrong password.");
    }
} else {
    System.out.println("Invalid username.");
}
Enter fullscreen mode Exit fullscreen mode

Output:
Login successful!

5). switch-case Statement
Used when you have multiple conditions based on a single variable.

Syntax

switch (variable) {
    case value1:
        // Code for value1
        break;
    case value2:
        // Code for value2
        break;
    default:
        // Code if no case matches
}
Enter fullscreen mode Exit fullscreen mode

Example (Day of Week)

int day = 3;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Invalid day");
}
Enter fullscreen mode Exit fullscreen mode

Output:
Wednesday

Important Notes on switch-case:
break prevents "fall-through" (execution of subsequent cases).

default runs if no case matches.

Java 14+ supports switch expressions (simplified syntax).

Key Takeaways
Statement Use Case
if Single condition check
if-else Two possible outcomes
if-else-if Multiple conditions
Nested if Conditions inside conditions
switch-case Multiple fixed-value checks
Common Mistakes to Avoid
❌ Using = instead of ==

if (x = 5) → Wrong (assignment)
if (x == 5) → Correct (comparison)

❌ Missing break in switch-case

Causes unintended fall-through.

❌ Comparing strings with ==
Use str1.equals(str2) instead.

When to Use What?
Use if-else for range-based conditions (e.g., age > 18).
Use switch-case for fixed-value checks (e.g., day == 3).

Ternary Operator vs. if Statement in Java
Both are used for conditional logic, but they serve different purposes.

1). Ternary Operator (? :)
A shorthand for simple if-else conditions.
Returns a value (used in assignments).

Syntax
variable = (condition) ? valueIfTrue : valueIfFalse;

Example

int age = 18;
String status = (age >= 18) ? "Adult" : "Minor";
System.out.println(status); // Output: "Adult"
Enter fullscreen mode Exit fullscreen mode

When to Use?
✔ Short, simple conditions (e.g., setting a variable).
✔ Avoids multiple lines of if-else.

Limitations
❌ Cannot execute multiple statements.
❌ Less readable for complex conditions.

2). if Statement
Used for general conditional logic.
Can execute multiple statements.

Syntax

if (condition) {
    // code if true
} else {
    // code if false
}
Enter fullscreen mode Exit fullscreen mode

Example

int age = 18;
if (age >= 18) {
    System.out.println("Adult");
    System.out.println("You can vote!");
} else {
    System.out.println("Minor");
}
Enter fullscreen mode Exit fullscreen mode

When to Use?
✔ Complex conditions (multiple checks).
✔ When you need multiple statements inside a branch.

Key Differences
Feature Ternary Operator (? :) if Statement
Purpose Returns a value Executes code blocks
Best for Simple conditions Complex logic
Multi-line ❌ No ✔ Yes
Readability Good for short conditions Better for long logic
When to Choose Which?
Use Ternary → Assigning values based on a condition.

java
int discount = (isMember) ? 10 : 0;
Use if → Multiple operations or nested conditions.

if (temperature > 30) {
    System.out.println("Hot");
    turnOnAC();
} else {
    System.out.println("Cool");
}
Enter fullscreen mode Exit fullscreen mode

Advanced: Nested Ternary (Avoid if Possible)

int num = 10;
String result = (num > 0) ? "Positive" : (num < 0) ? "Negative" : "Zero";
System.out.println(result); // "Positive"
Enter fullscreen mode Exit fullscreen mode

⚠ Warning: Nested ternaries reduce readability. Prefer if-else for clarity.

Final Advice
Ternary → Best for one-liners (e.g., variable assignments).

if → Best for complex logic (multiple conditions/statements).

----------------------------------- assisted by ai ---------------------------------------

Top comments (0)