对一个学生的考试成绩进行等级划分。如果分数高于80分,则等级为优,如果分数高于70分,则等级为良。如果分数高于60分的等级为中,如果分数不高于60分,则等级为差。用Switch和case语句。
时间: 2025-06-27 19:11:04 浏览: 14
<<
使用 `switch` 和 `case` 来实现学生考试成绩的等级划分时需要注意一点:`switch` 的匹配条件通常用于离散值(如整数或字符),而不是范围判断。因此,在 Java 中无法直接用 `switch` 判断数值区间。
不过可以通过一种技巧将分数映射到特定范围内进行处理,例如利用 `/ 10` 将分数转换为个位数字后再做进一步分类:
```java
import java.util.Scanner;
public class GradeClassification {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生的考试成绩(0-100): ");
int score = scanner.nextInt();
// 如果输入的成绩不在有效范围内,默认设置为 "无效"
String grade;
if (score < 0 || score > 100){
grade = "无效";
} else{
switch(score / 10){
case 10:
case 9:
grade = "优"; break; // 分数大于等于90的情况
case 8:
grade = "良"; break; // 分数介于[80,89]之间的情况
case 7:
grade = "中"; break; // 分数介于[70,79]之间的情况
default:
grade = "差"; // 其他情况即小于70分为"差"
}
}
System.out.println("该学生成绩对应的等级是:" + grade);
scanner.close();
}
}
```
**解释**
上述代码首先导入了Scanner类以便能够接收用户的键盘输入,并创建了一个名为GradeClassification的公共类。在main方法内初始化scanner对象后提示用户录入数据。根据输入的分数决定所属级别并打印结果。
这里特别注意的是对于超出正常打分标准(-∞~+∞但非0~100)的数据单独设置了“无效”的返回信息以防异常发生;同时运用除法运算符简化原本复杂的多重if...else逻辑结构成紧凑形式,让程序更易维护且运行效率更高。
阅读全文
相关推荐



















