switch 语句
笔记创建时间:May 26, 2016 12:47 AM
- switch 语句称为情况选择语句,又称为开关语句
- switch 是分支语句的一种,用于对多种情况惊喜不同处理的语句。
- JDK1.7 之前的 switch 语句限定对整型数据进行判断。
switch 语句定义格式
1 2 3 4 5 6 7 8 9 10 11
| switch(表达式){ case 常量值 1: 代码块 1; break; case 常量值 2: 代码块 2; break; ...... default: 以上常量值均不是时,执行本代码。 }
|
案例 1
判断 int 类型的数据
键盘输入一个 5 分制的分数,根据以下频分标准给出成绩的等级
5 分:优秀
4 分:优良
3 分:及格
0~2 分:不及格
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| public class Test04{ 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 分制的分数"); } } }
|
实例 2
switch 语句的“贯穿”现象
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 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
,从case 4:
一直贯穿到default
语句。
实例 3
键盘输入优、良、中、差,给出相应的分数 5、4、3、2。
解题步骤:
- 创建 Scanner 对象;
- 通过键盘接收一个 char 类型的数据->grade
- 用 switch 对 grade 的值进行判断,根据不同的等级显示不同的分数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public class Test06{ public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("输入分制等级"); char grade = scanner.next().charAt(0); switch(score){ 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("输入的分数等级错误"); } } }
|
实例 4
显示指定月天数。不考虑闰年 2 月份的情况。
- 创建 Scanner 对象;
- 通过键盘接收一个 int 类型的数据->month,代表月份值;
- 用 switch 对 month 的值进行判断,根据月份显示相应的天数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| public class Test04{ 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("输入的月份错误"); } } }
|