Java Switch


Java Switch Statements

Use the switch statement to select one of the many code blocks to be used.


Syntax
switch(expression) {
            case x:
              // code block
              break;
            case y:
              // code block
              break;
            default:
              // code block
          }
          

Here's how it works:

  • The switch expression is evaluated once.
  • The value of the expression is compared with the values of each case.
  • If there is a match, the associated block of code is executed.
  • The break and default keywords are optional, and will be described later in this chapter

The example below uses the number of days of the week to calculate the name of the day of the week:


Example
int day = 4;
            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;
            }
            // Outputs "Thursday" (day 4)
            


The break Keyword

When Java accesses a break keyword, it exits the switch block.

This will stop additional code creation and case testing within the block.

Once the game is over, and the job is over, it's break time. No further testing is required.


A break can save a lot of time because it "ignores" the execution of all other code in the switch block.



The default Keyword

The default keyword specifies a specific code to use when there is no match case:


Example
int day = 4;
            switch (day) {
              case 6:
                System.out.println("Today is Saturday");
                break;
              case 7:
                System.out.println("Today is Sunday");
                break;
              default:
                System.out.println("Looking forward to the Weekend");
            }
            // Outputs "Looking forward to the Weekend"
            

Note that if the default statement is used as the last statement in the switch block, it does not need to rest.