第6节switch语句
switch语句格式
switch(表达式){
case 值1:
语句体1;
break;
case 值1:
语句体1;
break;
...
default:
语句体n+1;
[break;] 可选的
}
格式说明:
表达式:取值为byte,short,int ,char,JDK5以后可以是枚举,JDK7以后可以是String。
case:后面跟的是要和表达式进行比较的值。
break:表示中断,结束的意思,用来结束switch语句。
default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行流程:
1、首先计算表达式的值。
2、一次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,
在执行的过程中,遇到break就会结束。
3、如果所有的case后面的值和表达式的值都不匹配,就会执行default里面
的语句体,然后程序结束掉。

import java.util.Scanner; public class SwitchDemo{ public static void main(String[] args){ //需求:键盘录入一个星期数(1,2,...7),输出对应的是星期一,星期二,...星期日 Scanner sc=new Scanner(System.in); System.out.println("请输入一个星期数(1-7):"); int week=sc.nextInt();//week[wik]星期 switch(week){ case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("输入数字有误,请重新输入"); break; } } }
案例:春夏秋冬
需求:一年有12个月,分属于春夏秋冬4个季节,键盘录入一个月份,请用程序实现判断该月份属于
哪个季节,并输出。
春:3、4、5
夏:6、7、8
秋:9、10、11
冬:1、2、12
分析:
1、键盘录入月份数据,使用变量接收。
2、多情况判断,这里采用switch语句实现。
3、在每种情况中,完成输出对应的季节。
下面代码用 case穿透 原理:
import java.util.Scanner; public class SwitchDemo02{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); System.out.println("请输入1-12月份任意一个月份的数字"); int month=sc.nextInt(); switch(month){ case 1: case 2: case 12: System.out.println("冬季"); break; case 3: case 4: case 5: System.out.println("春季"); break; case 9: case 10: case 11: System.out.println("秋季"); break; case 6: case 7: case 8: System.out.println("夏季"); break; default: System.out.println("输入月份有误!"); break; } } }
注意事项:
在switch语句中,如果case控制的语句体后面不写break,将出现穿透现象,
在不判断下一个case值的情况下,向下运行,直到遇到break,或者整体switch
语句结束。

浙公网安备 33010602011771号