Java switch Statement

Introduction

The switch statement in Java provides a way to execute one block of code among many options based on the value of an expression. It is a powerful control flow statement that can replace multiple if-else-if conditions, making the code more readable and easier to manage. In this chapter, we will explore the switch statement in detail, including its syntax, usage, and examples.

Syntax

The basic syntax of the switch statement is as follows:

switch (expression) {
    case value1:
        // code to be executed if expression == value1
        break;
    case value2:
        // code to be executed if expression == value2
        break;
    // you can have any number of case statements
    default:
        // code to be executed if none of the cases match
}

Key Points:

  • The expression can be of type byte, short, char, int, String, or an enumeration.
  • Each case keyword is followed by a value and a colon.
  • The break statement is used to exit the switch statement. If omitted, the program will continue to the next case (fall-through).
  • The default case is optional and executed if none of the case values match the expression.

Example

Let’s consider an example where we use the switch statement to determine the day of the week based on an integer input.

Example Code:

public class SwitchExample {
    public static void main(String[] args) {
        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;
            case 4:
                System.out.println("Thursday");
                break;
            case 5:
                System.out.println("Friday");
                break;
            case 6:
                System.out.println("Saturday");
                break;
            case 7:
                System.out.println("Sunday");
                break;
            default:
                System.out.println("Invalid day");
                break;
        }
    }
}

Output:

Wednesday

Fall-Through in switch Statement

In a switch statement, if the break statement is omitted, the program will continue executing the following case statements until a break is encountered or the switch statement ends. This behavior is known as "fall-through."

Example Code:

public class FallThroughExample {
    public static void main(String[] args) {
        int number = 2;
        switch (number) {
            case 1:
                System.out.println("One");
            case 2:
                System.out.println("Two");
            case 3:
                System.out.println("Three");
            default:
                System.out.println("Default");
        }
    }
}

Output:

Two
Three
Default

In the above example, since the break statements are omitted, the execution continues from case 2 to case 3 and then to the default case.

Using Strings in switch Statement

Starting from Java 7, you can use String objects in the switch statement.

Example Code:

public class StringSwitchExample {
    public static void main(String[] args) {
        String fruit = "Apple";
        switch (fruit) {
            case "Apple":
                System.out.println("It's an apple.");
                break;
            case "Banana":
                System.out.println("It's a banana.");
                break;
            case "Cherry":
                System.out.println("It's a cherry.");
                break;
            default:
                System.out.println("Unknown fruit.");
                break;
        }
    }
}

Output:

It's an apple.

Diagram: Flow Chart of switch Statement

   Start
     |
  [expression]
     |
     v
  [switch]
     |
    /|\
   / | \
case1 case2 ... caseN default
  |    |      |      |
  v    v      v      v
Code1 Code2 CodeN CodeD
  |    |      |      |
 break break break (optional)
  \____|_____/      /
       |           /
      End ________/

Conclusion

The switch statement is a versatile control flow statement that simplifies the process of selecting one of many code paths based on the value of an expression. It improves code readability and maintainability compared to multiple if-else-if statements. Understanding how to use the switch statement, including fall-through behavior and string support, can help you write cleaner and more efficient Java code.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top