Java Switch Statement
Switch over to this tutorial on using Java switch statements.
Join the DZone community and get the full member experience.
Join For FreeSwitch statement in Java is for decision making. Unlike if-then
and if-then-else
statements, the switch
statement can have a number of possible execution paths.
Syntax
The general form of a switch statement is:
switch (expression) {
case value1:
// statement sequence
break;
case value2:
// statement sequence
break;
... case valueN:
// statement sequence
break;
default:
// default statement sequence
}
The expression must be of type byte
, short
, int
, or char
; each of the values specified in the case statements must be of a type compatible with the expression.
Note: From Java 7, String is also supported in expression.
Flow Chart
Figure: Switch Statement
Example
// An example to illustrate switch statement
class Switch {
public static void main(String args[]) {
int month = 4;
String season;
switch (month) {
case 12:
case 1:
case 2:
season = "Winter";
break;
case 3:
case 4:
case 5:
season = "Spring";
break;
case 6:
case 7:
case 8:
season = "Summer";
break;
case 9:
case 10:
case 11:
season = "Autumn";
break;
default:
season = "Bogus Month";
}
System.out.println("April is in the " + season + ".");
}
}
The ouput of the program is:
April is in the Spring.
Here, expression month in switch statement matches to case with value 4, so season is assigned value Spring.
Note: three important features of the switch statement to be noted:
- The switch differs from the if in that switch can only test for equality, whereas if can evaluate any type of Boolean expression. That is, the switch looks only for a match between the value of the expression and one of its case constants.
- No two case constants in the same switch can have identical values. Of course, a switch statement and an enclosing outer switch can have case constants in common.
- A switch statement is usually more efficient than a set of nested ifs.
Published at DZone with permission of Yogen Rai, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments