目录
前言
switch语句在JDK12中有了更简便的写法,当然原先的书写格式仍然是正确的,本文章提供参考。
一、switch语句
执行流程
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
书写格式
switch (表达式) {
case 1:
语句体1;
break;
case 2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
注意点:
1. default的位置和省略情况
(default可以放在任意位置,也可以省略)
2. case穿透
(不写break会引发case穿透现象)
案例一
Scanner sc=new Scanner(System.in);
int day=sc.nextInt();//输入星期几
switch(day)
{
case 1: case 2: case 3: case 4: case 5:
System.out.println("工作日");
break;
case 6: case 7:
System.out.println("周末");
break;
default:
System.out.println("输入错误");
break;
}
二、switch语句在JDK12的新特性
书写格式
switch (表达式) {
case 1->{
}
case 2->{
}
default->{
}
//不需要使用break,每个分支独立进行
}
每个条件后面的花括号内就是该条件符合下执行的内容,不需要书写break,该格式无case穿透。
案例一
//switch 新特性
//1.
switch(day)
{
case 1->{
System.out.println("星期一");
}
case 2-> {
System.out.println("星期二");
}
default->{
System.out.println("不是星期一不是星期二");
}
}
//2.
switch(day)
{//直接省略break,以上五种情况仍然是独立判断执行的
case 1,2,3,4,5-> System.out.println("工作日");
case 6,7-> System.out.println("周末");
default-> System.out.println("输入错误");
}
总结
本文章旨在记录了switch语句以及JDK12新特性下switch的书写格式,养成记笔记习惯,以便后续查看学习内容。