Concept
-
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
-
switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
-
case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
-
当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
-
switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
Example
public static void main(String args[]){
int a = (int)(Math.random() * 6) + 1;
switch(a){
case 1:
System.out.println("The number is 1");
break;
case 2:
System.out.println("The number is 2");
break;
case 3:
System.out.println("The number is 3");
break;
case 4:
System.out.println("The number is 4");
break;
case 5:
System.out.println("The number is 5");
break;
default:
System.out.println("The number is 6");
}
}//The number is 1
根据随机的a的值 相应地输出 如果都没有匹配 则匹配default
但是如果我们去掉几个break
public static void main(String args[]){
int a = (int)(Math.random() * 6) + 1;
switch(a){
case 1:
System.out.println("The number is 1");
break;
case 2:
System.out.println("The number is 2");
break;
case 3:
System.out.println("The number is 3");
break;
case 4:
System.out.println("The number is 4");
case 5:
System.out.println("The number is 5");
default:
System.out.println("The number is 6");
}
}
/*The number is 4
The number is 5
The number is 6 */
匹配的case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出 但是如果后续的case里面有break 依然会跳出