This example uses many case statements. It stacks cases, which means multiple values (100, 1000, or 10000 for example) all match the same statement block.
public class Program {
static String testCase(String value) {
final String special =
"constant";
String temp =
"";
// Switch on the String value.
switch (value) {
case
"100":
case
"1000":
case
"10000": {
// Place braces around case statements.
return
"Multiple of ten";
}
case
"500":
case
"5000":
case
"50000":
// No braces are needed.
return
"Multiple of fifty";
case special:
// We can match a final constant.
// ... Multiple statements can be in a case.
String result = special.toUpperCase() +
"!";
return result;
case
"cat" +
"100":
// This also matches a constant.
// ... The string expression is compiled into a final String.
return
"CAT";
case
"X":
// This case will fall through so case "Y" is also entered.
temp +=
"X";
case
"Y":
temp +=
"Y";
return temp;
default:
// The default case.
return
"Invalid";
}
}
public static void main(String[] args) {
System.out.println(testCase(
"100"));
System.out.println(testCase(
"1000"));
System.out.println(testCase(
"5000"));
System.out.println(testCase(
"constant"));
System.out.println(testCase(
"cat100"));
System.out.println(testCase(
"X"));
System.out.println(testCase(
"Y"));
System.out.println(testCase(
"?"));
}
}
Multiple of ten
Multiple of ten
Multiple of fifty
CONSTANT!
CAT
XY
Y
Invalid