Java Switch Statement

The switch statement in Java is a control flow statement that allows a variable to be tested for equality against a list of values. Each value is called a case, and the variable being switched on is checked for each case.

Key Topics

1. Syntax

switch (expression) {
    case value1:
        // Code to execute when expression equals value1
        break;
    case value2:
        // Code to execute when expression equals value2
        break;
    // You can have any number of case statements.
    default:
        // Code to execute if none of the cases match
}

2. Example

Example of using a switch statement:

public class SwitchExample {
    public static void main(String[] args) {
        int day = 3;
        String dayName;
        switch (day) {
            case 1:
                dayName = "Monday";
                break;
            case 2:
                dayName = "Tuesday";
                break;
            case 3:
                dayName = "Wednesday";
                break;
            case 4:
                dayName = "Thursday";
                break;
            case 5:
                dayName = "Friday";
                break;
            case 6:
                dayName = "Saturday";
                break;
            case 7:
                dayName = "Sunday";
                break;
            default:
                dayName = "Invalid day";
        }
        System.out.println("Today is " + dayName);
    }
}

Output:

Today is Wednesday

3. Break Statement

The break statement terminates the switch block. If omitted, execution will continue to the next case (known as "fall-through").

public class BreakExample {
    public static void main(String[] args) {
        int number = 2;
        switch (number) {
            case 1:
                System.out.println("Number is 1");
                break;
            case 2:
                System.out.println("Number is 2");
                break;
            case 3:
                System.out.println("Number is 3");
                break;
            default:
                System.out.println("Number is not 1, 2, or 3");
        }
    }
}

Output:

Number is 2

4. Default Case

The default case is executed if no matching case is found. It's optional but recommended for handling unexpected values.

public class DefaultCaseExample {
    public static void main(String[] args) {
        int number = 4;
        switch (number) {
            case 1:
                System.out.println("Number is 1");
                break;
            case 2:
                System.out.println("Number is 2");
                break;
            case 3:
                System.out.println("Number is 3");
                break;
            default:
                System.out.println("Number is not 1, 2, or 3");
        }
    }
}

Output:

Number is not 1, 2, or 3

Key Takeaways

  • The switch statement is useful for testing a variable against multiple values.
  • Remember to use break to prevent fall-through to subsequent cases.
  • The default case handles any values not matched by the cases.