3.switch语句
(学完switch语句之后要求知道switch语句的格式和执行流程)
3.1switch语句格式
格式:
Switch(表达式) {
case 值1:
语句体;
break;
case 值2:
语句体2;
break;
……
default;
语句体n+1;
[break;]
}
格式说明:
- 表达式:取值为byte、short、int、char、JDK5以后是枚举,JDK7以后可以是String。
- case:后面跟的是要和表达式进行比较的值。
- break:表示中断,结束的意思,用来结束switch语句。
- default:表示所以情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
执行流程:
- 首先计算表达式的值。
- 依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
- 如果所以的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后程序结束掉。
注意:在switch语句中,如果case控制的语句体后面不写break,将出现穿透现象,再不判断下一个case的值的情况夏,向下运行,直到遇见break,或者整体switch语句结束。
案例演示:
import java.util.Scanner;
public class SwitchDemo {
public static void main(String[] args) {
//在main方法里面有一个输出语句输出了开始
System.out.println("开始");
//中间有一个需求
//需求:键盘录入一个星期数(1、2……、7),输出对应的星期一、二……星期日
Scanner sc = new Scanner(System.in);
//提示语句
System.out.println("请输入(1-7)直接任意一个整数:");
//接收数据
int week = sc.nextInt();
//switch语句实现星期数案例
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("请输入整数(1-7)");
break;
}
//在结尾也有一个输出语句输出了结束
System.out.println("结束");
}
}