语法
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;}}}
