switch语句格式:
switch(表达式){
case值1:
语句体1;
打破;
案例值2:
语句体2;
打破;
...
默认:
语句体n + 1;
打破;
}
格式的解释:
switch:表示这是开关选择结构
表达式:这个地方的取值是有限定的
byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面跟的是要和表达式进行比较的值
语句体:要执行的代码
break:表示中断,结束的意思,可以控制switch语句的结束。
默认值:当所有的值都和表达式不匹配的时候,就执行默认控制的语句。其实它就相当于如果语句的人。
面试题:
byte可以作为switch的表达式吗?可以
长可以作为开关的表达式吗?不可以
字符串可以作为开关的表达式吗?不可以,但JDK7之后或版本可以
案例:
键盘录入一个数据,根据这个数据,输出我们的对应星期
键盘录入1,对应输出星期一
键盘录入2,对应输出星期二
...
键盘录入7,对应输出星期日
分析:
1:键盘录入,用Scanner实现
2:判断我们既可以使用if语句,也可以使用我们要讲解的开关语句
注意:
A:遇到左大括号缩进一个tab的位置
.B:关联不是很大的语句间空行
import java.util.Scanner;
class SwitchDemo {
public static void main(String [] args){
//创建键盘录入对象
扫描器sc = new Scanner(System.in);
//控制键盘录入数据
的System.out.println( “请输入一个数据(1-7):”);
int week = sc.nextInt(); // 3
// switch判断语句
switch(week){
案例1:
System.out.println(“星期一”);
打破;
案例2:
System.out.println(“星期二”);
打破;
案例3:
System.out.println(“星期三”);
打破;
案例4:
System.out.println(“星期四”);
打破;
案例5:
System.out.println(“星期五”);
打破;
案例6:
System.out.println(“星期六”);
打破;
案例7:
System.out.println(“星期日”);
打破;
default:
System.out.println(“你输入的数据有误”);
打破;
}
}
}