switch 多选择结构
1.基本结构
switch:(controllingExpression){
case constantExpression1:
statement1
case constantExpression2:
statement2
case constantExpression3:
statement3
default:
statement
}
语法
switch语句的语法(switch、case、default、break);
switch(变量表达式){
case 常量1:
//语句
break;//可选
case 常量1:
//语句
break;//可选
case 常量1:
//语句
break;//可选
//可以有任何数量的case语句
default://可选
//语句
}
switch 语句中的变量类型可以是:
- byte、short、int、char。
- 从 Java SE7 开始,支持 String 类型
- case 标签必须为字符串常量或字面量。
让我们看看具体操作
public class Switch01 {
public static void main(String[] args) {
String name = "八戒";
switch (name){
case "唐僧" :
System.out.println("唐僧");
case "悟空" :
System.out.println("悟空");
case "八戒" :
System.out.println("八戒");
case "沙僧" :
System.out.println("沙僧");
default:
System.out.println("白龙马");
}
}
}
Run
为什么我们选择"八戒",会同时打印出"沙僧"、"白龙马"呢
我们把"八戒"改成"“唐僧”"试一下
public class Switch01 {
public static void main(String[] args) {
String name = "唐僧";
switch (name){
case "唐僧" :
System.out.println("唐僧");
case "悟空" :
System.out.println("悟空");
case "八戒" :
System.out.println("八戒");
case "沙僧" :
System.out.println("沙僧");
default:
System.out.println("白龙马");
}
}
}
Run
可以看到把"唐僧"下边的都打印出来了
因为 case 具有 穿透效果
我们加上break;
public class Switch01 {
public static void main(String[] args) {
String name = "唐僧";
switch (name){
case "唐僧" :
System.out.println("唐僧");
break;
case "悟空" :
System.out.println("悟空");
case "八戒" :
System.out.println("八戒");
case "沙僧" :
System.out.println("沙僧");
default:
System.out.println("白龙马");
}
}
}
Run