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;
/**
* 输入百分成绩,输出成绩等级,成绩>=90 输出A, 80<=成绩<90输出B, 70<=成绩<80输出C , 成绩<70输出D。
* @author lhb
*
*/
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);
}
}
}