语法
switch(表达式){
case取值1:
语句块1;
break;
case取值2:
语句块2;
break;
....
default:语句块n;
}
switch表达式
JDK 1.5以前switch (expr1)中,expr1是一个整数表达式。
因此传递给switch和case语句的参数可以是byte 、short、int或者char
Long、String都不能作用于Switch
JDK 1.5开始支持enum(枚举)
JDK 1.7后开始支持String
public class Demo{
public static void main(String[] args){
System.out.println("请输入今天是星期几");
Scanner input = new Scanner(System.in);
int day = input.nextInt();
switch(day){
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;
default:
System.out.println("周末");
break;
}
}
}
优缺点
与if-else比较,switch-case的优点在于
- 可以利用switch的开关功能来实现批处理
- 增加了代码的可读性
- 使代码更容易编写
- 性能更高
- 少了条件逻辑判断
其缺点是
- 不能实现嵌套判断
批处理
public class Demo{
public static void main(String[] args){
System.out.println("请输入今天是星期几");
Scanner input = new Scanner(System.in);
int day = input.nextInt();
switch(day){
case 1:
case 2;
case 3;
case 4;
case 5;
System.out.println("工作日");
break;
default:
System.out.println("周末");
break;
}
}
}