In this tutorial, you will learn to use the switch statement in Java to control the flow of your program’s execution with the help of examples.
The switch
statement allows us to execute a block of code among many alternatives.
The syntax of the switch
statement in Java is:
switch (expression) {
case value1:
// code
break;
case value2:
// code
break;
...
...
default:
// default statements
}
The expression
is evaluated once and compared with the values of each case.
expression
matches with value1
, the code of case value1
are executed. Similarly, the code of case value2
is executed if expression
matches with value2
.Note: The working of the switch-case statement is similar to the Java if…else…if ladder. However, the syntax of the switch
statement is cleaner and much easier to read and write.
// Java Program to check the size
// using the switch...case statement
class Main {
public static void main(String[] args) {
int number = 44;
String size;
// switch statement to check size
switch (number) {
case 29:
size = "Small";
break;
case 42:
size = "Medium";
break;
// match the value of week
case 44:
size = "Large";
break;
case 48:
size = "Extra Large";
break;
default:
size = "Unknown";
break;
}
System.out.println("Size: " + size);
}
}
Size: Large
In the above example, we have used the switch statement to find the size. Here, we have a variable number
. The variable is compared with the value of each case statement.
Since the value matches with 44, the code of case 44
is executed.
size = "Large";
break;
Here, the size
variable is assigned with the value Large
.
Flow chart of the Java switch statement
Notice that we have been using break in each case block.
...
case 29:
size = "Small";
break;
...
The break
statement is used to terminate the switch-case statement. If break
is not used, all the cases after the matching case are also executed. For example,
class Main {
public static void main(String[] args) {
int expression = 2;
// switch statement to check size
switch (expression) {
case 1:
System.out.println("Case 1");
// matching case
case 2:
System.out.println("Case 2");
case 3:
System.out.println("Case 3");
default:
System.out.println("Default case");
}
}
}
Case 2
Case 3
Default case
In the above example, expression
matches with case 2
. Here, we haven’t used the break statement after each case.
Hence, all the cases after case 2
are also executed.
This is why the break
statement is needed to terminate the switch-case statement after the matching case. To learn more, visit Java break Statement.
The switch statement also includes an optional default case. It is executed when the expression doesn’t match any of the cases. For example,
class Main {
public static void main(String[] args) {
int expression = 9;
switch(expression) {
case 2:
System.out.println("Small Size");
break;
case 3:
System.out.println("Large Size");
break;
// default case
default:
System.out.println("Unknown Size");
}
}
}
Unknown Size
In the above example, we have created a switch-case statement. Here, the value of expression
doesn’t match with any of the cases.
Hence, the code inside the default case is executed.
default:
System.out.println("Unknown Size);
Note: The Java switch statement only works with: