java中用多分支if-else if-else划分成绩等级,核心是按分数区间从高到低逐级判断,推荐“左闭右闭”写法,如score>=90→a、score>=80→b、score>=70→c、score>=60→d、否则f,并支持非法输入校验与小数成绩处理。

Java 中用多分支 if-else if-else 划分成绩等级,核心是按分数区间从高到低(或从低到高)逐级判断,确保区间不重叠、不遗漏。
明确等级划分标准
先确定常见的五级制标准(可按需调整):
- 90 分及以上 → A
- 80–89 分 → B
- 70–79 分 → C
- 60–69 分 → D
- 60 分以下 → F(或 E)
注意:区间边界要清晰,推荐“左闭右开”或“左闭右闭”统一写法,避免歧义。常用做法是从高分往低分判断,利用 else if 的短路特性自然排除已覆盖的高分情况。
标准多分支 if 写法(推荐从高到低)
示例代码(假设 score 是 int 类型):
if (score >= 90) {
System.out.println("A");
} else if (score >= 80) { // 此时已知 score = 70) {
System.out.println("C");
} else if (score >= 60) {
System.out.println("D");
} else {
System.out.println("F");
}
✅ 优点:逻辑清晰、无需写上下界(如 score >= 80 && score ),减少冗余条件,不易出错。
补充说明与注意事项
-
顺序不能颠倒:若把
if (score >= 60)放最前,60 分以上所有情况都会进这一分支,后续 else if 不会执行。 -
处理非法输入:可在最前加校验,如
if (score 100)提示“成绩无效”,再接等级判断。 -
支持小数成绩:把 score 声明为
double或float,比较逻辑不变(score >= 90.0)。 -
封装成方法更实用:返回等级字符串,便于复用:
static String getGrade(double score) { if (score 100) return "无效"; if (score >= 90) return "A"; else if (score >= 80) return "B"; else if (score >= 70) return "C"; else if (score >= 60) return "D"; else return "F"; }
替代方案对比(简单了解)
虽然 switch 在 Java 14+ 支持范围匹配(case 90 ->),但目前仍不支持区间,所以 多分支 if 仍是划分连续数值区间的最直接、通用方式。不建议强行用 switch 或数组映射,易增加复杂度且可读性差。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











