java学生成绩统计系统用一维数组存储成绩、for循环遍历计算总分、平均分、最高/最低分及及格人数;需注意用scores.length、double类型防整除、边界值处理。

Java 中用循环和数组实现学生成绩统计系统,核心是用数组存成绩、用循环遍历处理数据,再结合基本运算完成统计(如总分、平均分、最高/最低分、及格人数等)。
用一维数组存储学生成绩
假设一个班级有 10 名学生,成绩为整数(0–100),可声明一个 int 类型数组:
int[] scores = new int[10];
也可直接初始化:
int[] scores = {85, 92, 76, 88, 94, 67, 81, 90, 73, 89};
用 for 循环计算总分与平均分
遍历数组累加所有成绩,再除以人数得平均分(注意用 double 避免整数截断):
- 定义 int sum = 0;,用 for (int i = 0; i 累加 sum += scores[i];
- 平均分写成 double avg = (double) sum / scores.length;
- 输出时可保留一位小数:System.out.printf("平均分:%.1f\n", avg);
用循环找最高分、最低分和及格人数
只需一次遍历,同时更新多个变量:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
- 初始化 int max = scores[0], min = scores[0], passCount = 0;
- 循环中比较并更新:if (scores[i] > max) max = scores[i];,同理更新 min
- 判断及格(≥60):if (scores[i] >= 60) passCount++;
增强可读性:用 for-each 循环简化遍历
若不需要下标,可用增强 for 循环让代码更简洁:
for (int score : scores) {
sum += score;
if (score >= 60) passCount++;
}
但找最值时仍需先设初值(如第一个元素),或改用传统 for 更稳妥。
不复杂但容易忽略细节:数组长度要用 scores.length 而不是硬编码数字;平均分转 double 防止整除丢失精度;边界值(如全不及格、全满分)也应能正确处理。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










