/*
实现一个功能:
根据给出的学生分数,判断学生的等级:
>=90 -----A
>=80 -----B
>=70 -----C
>=60 -----D
<60 -----E
*/
public class Test01 {
public static void main(String[] args) {
/*
1.switch后面的()里面是一个等值,而不是区间
等值可以是什么类型的呢?
byte,short,char,int,String,枚举类
2.switch后面的等值会依次跟case后面的数值进行比较,满足条件就执行case后面的语句,
直到遇到break结束。
break作用:结束当前分支
3.类似if中的else那个“兜底”“备胎”功能的分支:default,
这个default分支可以放在任意位置,但是如果没有在最后一行的话,就必须加上break关键字
如果在最后一行,break关键词可以省略不写。
4.if好还是switch好?
switch能解决的问题,if都能解决。
if能解决的问题,switch未必能解决。
if(score>=90){}
if(score==90) if后,无论加区间还是等值判断都行,灵活
switch只能加等值判断。
switch应用场合:等值判断
*/
//录入成绩:
int score = -78;
// 判断:
switch (score/10){
case 10:
System.out.println("A级");
break;
case 9:
System.out.println("A级");
break;
case 8:
System.out.println("B级");
break;
case 7:
System.out.println("C级");
break;
case 6:
System.out.println("D级");
break;
case 5:
System.out.println("E级");
break;
case 4:
System.out.println("E级");
break;
case 3:
System.out.println("E级");
break;
case 2:
System.out.println("E级");
break;
case 1:
System.out.println("E级");
break;
case 0 :
System.out.println("E级");
break;
default:
System.out.println("你录入的数据不满足条件!");
break;
}
}
}
优化:
/*
实现一个功能:
根据给出的学生分数,判断学生的等级:
>=90 -----A
>=80 -----B
>=70 -----C
>=60 -----D
<60 -----E
*/
public class Test01 {
public static void main(String[] args) {
/*
1.switch后面的()里面是一个等值,而不是区间
等值可以是什么类型的呢?
byte,short,char,int,String,枚举类
2.switch后面的等值会依次跟case后面的数值进行比较,满足条件就执行case后面的语句,
直到遇到break结束。
break作用:结束当前分支
3.类似if中的else那个“兜底”“备胎”功能的分支:default,
这个default分支可以放在任意位置,但是如果没有在最后一行的话,就必须加上break关键字
如果在最后一行,break关键词可以省略不写。
4.if好还是switch好?
switch能解决的问题,if都能解决。
if能解决的问题,switch未必能解决。
if(score>=90){}
if(score==90) if后,无论加区间还是等值判断都行,灵活
switch只能加等值判断。
switch应用场合:等值判断
*/
//录入成绩:
int score = -78;
// 判断:
switch (score/10){
case 10:
case 9:
System.out.println("A级");
break;
case 8:
System.out.println("B级");
break;
case 7:
System.out.println("C级");
break;
case 6:
System.out.println("D级");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
System.out.println("E级");
break;
default:
System.out.println("你录入的数据不满足条件!");
break;
}
}
}