一、switch结构
// switch(表达式1){
// case 表达式2:
// 1个或多个表达式;
// break;
// case 表达式3:
// 1个或多个表达式;
// break;
// ……
// case 表达式n:
// 1个或多个表达式;
// break;
// default:
// 1个或多个表达式;
// break;
// }
// 表达式1:byte、short、int、char、String(Java1.7及更高版本)、enum(枚举)
// 枚举见后续章节
// 如果表达式1 == 表达式n(n=2,3,4……),执行该case下的表达式, 遇到break,跳出switch
// 如果都不满足,执行default下的表达式,遇到break,跳出switch
二、小试牛刀
1、基础
// 测试1-基础
int t = 0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数");
t = sc.nextInt();
switch (t) {
case 0:
System.out.println("0");
System.out.println("输入了0"); // 输入0,执行这个case下的表达式
break;
case 1: {
System.out.println("1");
System.out.println("输入了1"); // 输入1,执行这个case下的表达式
} // 多个表达式可以用花括号括起来
break;
default:
System.out.println("非0,非1");
System.out.println("输入了其他数"); // 输入其他数,执行这个default下的表达式
break;
}
运行:3次运行结果如下图所示。
2、进阶
// 测试2-进阶 -今天是工作日还是周末?
int day = 0;
System.out.println("请输入一个整数(1-7)");
day = sc.nextInt();
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("今天是工作日,-_-"); // 1-5 都是工作日,执行相同的表达式,遇到break跳出
break;
case 6:
case 7:
System.out.println("今天是周末,^_^"); // 6-7都是周末,执行相同表达式,遇到break跳出
break;
default:
System.out.println("你的输入不合法,-_-"); // 如果输入数字不是1-7,执行这个表达式,遇到break跳出
break;
}
运行:3次运行结果如下图所示。
三、举一反三
// 判断季节 3 4 5春 6 7 8夏 9 10 11秋 12 1 2冬
// 答案下回揭晓