1. 基本用法
switch(表达式){
case 常量1 :
语句块1;
break;
case 常量1 :
语句块1;
break;
.....
case 常量n :
语句块n;
break;
default:
default语句块;
break;
}
- switch关键字,表示switch分支
- 表达式对应一个值
- case常量1:当表达式的值等于常量1,就执行语句块1
- break:表示退出switch
- 如果和case常量1匹配,就执行语句块1,不匹配就继续匹配常量2
- 如果一个都没用匹配上,执行default
2.流程图

3.示例代码:
public static void main(String[] args) {
/*
案例:Switch01.java
请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g
a 表示星期一,b 表示星期二 …
根据用户的输入显示相应的信息.要求使用 switch 语句完成
思路分析
1. 接收一个字符 , 创建 Scanner 对象
2. 使用 switch 来完成匹配,并输出对应信息
代码
*/
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入一个字符(a-g)");
char c1 = myScanner.next().charAt(0);
//在 java 中,只要是有值返回,就是一个表达式
switch (c1) {
case 'a':
System.out.println("今天星期一,猴子穿新衣");
break;
case 'b':
System.out.println("今天星期二,猴子当小二");
break;
case 'c':
System.out.println("今天星期三,猴子爬雪山..");
break;
default:
System.out.println("你输入的字符不正确,没有匹配的");
}
System.out.println("退出了 switch ,继续执行程序");
}
4.switch 注意事项
1.表达式数据类型,应和case后的常量类型,或者是可以`自动转成 `可以相互比较的类型,比如输入的是字符常量是int
2.swtch(表达式)中的表达式的返回值必须是:byte,short,int,char,enum,string
3.case子句中的值必须是常量,而不能是变量
4.default子句是课选择的,当没有匹配的case时,执行default
5.break语句用来在执行完一个case分支后使程序跳出switch语句块,如果没有break,程序会顺序执行到switch结尾,直到遇到break;
5.witch 和 if 的比较
- 如果 判断的具体数值不多,而且符合 byte、 short 、int、 char, enum[枚举], String 这 6 种类型。虽然两个语句都可
以使用,建议使用 swtich 语句。
- 其他情况:对区间判断,对结果为 boolean 类型判断,使用 if,if 的使用范围更广