Switch多选择结构
-
多选择的除了if结构外 的另一个实现方式:Switch case语句(判断一个变量与一系列值中某个值是否相等,每个值称为一个分支)
-
Switch语句中的变量可以是:byte, short, int 或者 char
从Java SE7开始 Switch开始 支持字符串String类型了
同时case标签必须为字符串常量或字面量
1.不加break的结果
package com.baixiaofan.struct;
public class SwitchDemo01 {
public static void main(String[] args) {
//case 穿透 //switch 匹配一个具体的值
char grade = 'C';
switch (grade){
case 'A'://case相当于一个个选项(值),switch在下列这么多选项中去匹配,匹配到了就输出
System.out.println("优秀");
break;//可选 注意:break不是必须要加在语句中的,case相当于阻止case的穿透,(养成规范
//每写完一个case 就加上break)
case 'B':
System.out.println("良好");
case 'C':
System.out.println("及格");//注意这里没有break,case会一直穿透连带输出后面的结果!!!!!!
case 'D':
System.out.println("再接再励");
case 'E':
System.out.println("挂科");
break;
default:
System.out.println("未知等级");
}
}
结果为:(不加break,case的穿透效果 会连带输出后面的结果)
2.加上break的结果
package com.baixiaofan.struct;
public class SwitchDemo02 {
public static void main(String[] args) {
char grade = 'h';
switch (grade){
case 'a':
System.out.println("王者");
break;//(养成规范 每写完一个case 就加上break)
case 'b':
System.out.println("星耀");
break;
case 'c':
System.out.println("钻石");
break;
case 'd':
System.out.println("铂金");
break;
case 'e':
System.out.println("黄金");
break;
case 'f':
System.out.println("白银");
break;
default:
System.out.println("青铜");
break;//可选
}
}
}
结果:就是 char grade = 'x'; x改a就输出王者,改成b就输出星耀。。。。 x改其他a,b,c,d,e,f以外的其他字符 则输出青铜
由于语句都加了break,完全不用担心case的穿透作用
所以要养成习惯每个switch语句都加上break
String类型
package com.baixiaofan.struct;
public class SwitchDemo03 {
public static void main(String[] args) {
String name = "小哥";
switch (name){
case "小哥哥":
System.out.println("小哥哥");
break;
case "帅哥":
System.out.println("帅哥");
break;
case "甩锅":
System.out.println("甩锅");
break;
default:
System.out.println("弄啥嘞");
}
}
}
标签:case,break,String,System,Day22,选择,Switch,println,out
From: https://www.cnblogs.com/baixiaofan/p/17883948.html