switch语句
主要应用于业务选择
switch(表示byte.short.char.int的变量a){
case 表示byte.short.char.int的值b1:
语句1;
break;
case 表示byte.short.char.int的值b2:
语句2;
break;
case 表示byte.short.char.int的值b3:
语句3;
break;
.....
default:
语句i;
}
该格式表达的意思为:
如果变量a的值与b1相同,则执行语句1,并执行语句1后面的break(终止循环);
如果变量a的值与b2相同,则执行语句2,并执行语句2后面的break(终止循环);
如果变量a的值与b3相同,则执行语句2,并执行语句3后面的break(终止循环);
.....
当前面数值都不匹配时,执行语句 i。
例如:
- package cn.java.lhb.syntax;
-
-
-
-
-
-
- import java.util.*;
-
- public class ScoreGradeOutputDemo {
-
- public static void main(String[] args) {
- for(;;) {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入成绩:(成绩范围为0-100),输入结束请输入-1。");
- int score1 = sc.nextInt();
- int score2 = score1 / 10;
- char grade = ' ';
- if ((score1 < 0 && score1 != -1) || (score1 > 100) ) {
- System.out.print("输入有误,请重新输入。");
- continue;
- }
- if (score1 == -1) {
- System.out.print("输入结束。");
- break;
- }
- switch (score2) {
- case 10:
- case 9:
- grade = 'A';
- break;
- case 8:
- grade = 'B';
- break;
- case 7:
- grade = 'C';
- break;
- case 6:
- grade = 'D';
- break;
- default:
- grade = 'E';
- }
- System.out.println(score1 + "的等级为:" + grade);
- }
- }
- }
-
![](https://img-blog.csdn.net/20160912173457375?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)