1、概述
- switch语句称为情况选择语句,又称为开关语句。
- switch是分支语句的一种,用于对多种情况进行不同处理的语句。
- JDK1.7之前的switch语句限定对整形数据进行判断,1.7新增对String类型数据进行判断。
2、定义格式
switch(表达式){
case 常量值1:
代码块1;
break;
case 常量值2:
代码块2;
break;
......
default:
以上常量值均不是时,执行本代码块。
}
注意:上述的定义格式,看起来可能不好理解,下面通过案例来驱动大家理解switch的用法,实际开发中switch使用场景并不多,建议大家熟练掌握即可。
3、案例一(判断int类型的数据)
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入5分制分数:");
int score = scanner.nextInt();
switch (score) {
case 5:
System.out.println("优秀");
break;
case 4:
System.out.println("良好");
break;
case 3:
System.out.println("及格");
break;
case 2:
case 1:
case 0:
System.out.println("不及格");
break;
default:
System.out.println("输入的分数不是5分制的分数");
break;
}
}
4、案例二 (switch语句的“贯穿”现象)
public static void main(String args[]) {
int score = 4;
switch (score) {
case 5:
score++;
case 4:
score++;
case 3:
score++;
case 2:
score++;
case 1:
score++;
case 0:
score++;
default:
System.out.println(score);
}
}
注意:“贯穿”原因是丢失break语句导致的,在使用是一定要注意此处代码的执行顺序,以免造成程序逻辑错误。
5、案例三(键盘输入字符串并进行判断)
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入分数等级:");
char grade = scanner.next().charAt(0);
switch (grade) {
case '优':
System.out.println(5);
break;
case '良':
System.out.println(4);
break;
case '中':
System.out.println(3);
break;
case '差':
System.out.println(2);
break;
default:
System.out.println("输入的等级错误");
break;
}
}
6、案例四(显示指定月的天数,不考虑闰年)
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入月份:");
int month = scanner.nextInt();
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("31天");
break;
case 2:
System.out.println("28天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("30天");
break;
default:
System.out.println("输入的月份错误");
break;
}
}
注意:上述代码可以新建Java测试类,然后写在main方法中查看运行结果。
说明:该内容由Lord丶轩莫言弃收集整理,参考资料来源于极客学院。
网友评论