假设某班进行了一次数学考试,依据成绩来划分等级,分数在【90,100】之间等级为A,在【80,90)之间等级为B,在【60,80)之间等级为C,在【0,60)之间等级为D。要求从键盘输入成绩即可查询成绩对应等级。
1、if(布尔表达式){
java语句
}型
倘若成绩为85,运行结果:
2、if(布尔表达式){
java语句
}else if(布尔表达式){
java语句
}型
倘若成绩为76,运行结果:
3、if(布尔表达式){
java语句
}else if(布尔表达式){
java语句
}else{
}型
倘若成绩为92,运行结果为:
4、嵌套式
与
当成绩为59时,以上两种运行结果皆为:
而有一些考试的成绩满分可能不只100分,倘若为120分,而某同学的成绩为110分,那在以上代码中能否运行出结果呢?
在第一种代码中运行结果为:
没有对应成绩等级。
在第二种代码中运行结果为:
也没有对应成绩等级。
在第三种代码中运行结果为:
对应成绩等级居然为D。
在第四种代码中运行结果分别为:
没有对应成绩等级。
对应成绩等级为D。
为什么有些运行结果为D,而有些却没有对应成绩等级。
原来在第一种和第二种代码中只定义了分数在【0,100】之间对应的成绩等级,其他不在此范围内的分数都没定义等级,第四种第一类只定义了分数>60且在【60,100】之间与不在此范围内即分数<60对应的成绩等级,而110虽然>60不在【60,100】之间,所以在运行的时候找不到对应等级自然没有输出。
第三种与第四种第二类代码分数在【60,100】范围之外的一律对应成绩等级为D,110不在此范围内就对应等级D。