Appearance
动手实践
恭喜你!你已经学完了 Java 编程中最核心的基础内容。你可能会惊讶地发现,专业程序员 90% 的工作时间都在使用这些基础知识,而你只用了 20% 的学习时间就掌握了 80% 的常用技能。
但是,看懂不等于学会。根据费曼学习法(Feynman Technique),只有当你能独立完成一个实际需求时,才算真正掌握了这些知识。
现在,让我们通过一个真实的小项目来验证你的学习成果。
💡 项目需求
我们要开发一个学生成绩管理系统,功能包括:
- 输入 3 名学生的姓名和成绩
- 计算平均分
- 找出最高分和最低分
- 判断每个学生是否及格(60分及格)
这个项目会用到你前面学过的:
- 变量(Variable) - 存储学生信息
- 数据类型(Data Type) - int、double、String
- 运算符(Operator) - 比较、逻辑运算
- 条件语句(Conditional Statement) - if-else 判断
- 循环(Loop) - for 循环处理多个学生
📝 完整代码实现
java
public class StudentScoreManager {
public static void main(String[] args) {
// 第一步:定义数据
String[] names = {"张三", "李四", "王五"};
int[] scores = {85, 62, 45};
int studentCount = 3;
// 第二步:计算总分和平均分
int totalScore = 0;
for (int i = 0; i < studentCount; i++) {
totalScore += scores[i];
}
double averageScore = (double) totalScore / studentCount;
System.out.println("=== 学生成绩统计 ===");
System.out.println("平均分: " + averageScore);
// 第三步:找出最高分和最低分
int maxScore = scores[0];
int minScore = scores[0];
for (int i = 1; i < studentCount; i++) {
if (scores[i] > maxScore) maxScore = scores[i];
if (scores[i] < minScore) minScore = scores[i];
}
System.out.println("最高分: " + maxScore);
System.out.println("最低分: " + minScore);
// 第四步:判断每个学生是否及格
System.out.println("\n=== 学生成绩详情 ===");
for (int i = 0; i < studentCount; i++) {
String passStatus = (scores[i] >= 60) ? "及格" : "不及格";
System.out.println(names[i] + ": " +
scores[i] + "分 - " + passStatus);
}
// 第五步:统计及格人数
int passCount = 0;
for (int i = 0; i < studentCount; i++) {
if (scores[i] >= 60) {
passCount++;
}
}
double passRate = (double) passCount / studentCount * 100;
System.out.println("\n及格率: " + passRate + "%");
}
}
🎯 运行结果
bash
=== 学生成绩统计 ===
平均分: 64.0
最高分: 85
最低分: 45
=== 学生成绩详情 ===
张三: 85分 - 及格
李四: 62分 - 及格
王五: 45分 - 不及格
及格率: 66.66666666666666%
💪 挑战练习
提示
先自己动手尝试,遇到困难再查看答案!
练习 1:添加等级评定
在现有代码基础上,添加成绩等级评定:
- 90分以上:优秀
- 80-89分:良好
- 60-79分:及格
- 60分以下:不及格
点击查看答案
java
// 在第四步的循环中添加等级判断
System.out.println("\n=== 学生成绩详情 ===");
for (int i = 0; i < studentCount; i++) {
String passStatus = (scores[i] >= 60) ? "及格" : "不及格";
// 添加等级评定
String grade;
if (scores[i] >= 90) {
grade = "优秀";
} else if (scores[i] >= 80) {
grade = "良好";
} else if (scores[i] >= 60) {
grade = "及格";
} else {
grade = "不及格";
}
System.out.println(names[i] + ": " +
scores[i] + "分 - " + grade);
}
练习 2:扩展到 5 名学生
修改代码,支持录入 5 名学生的成绩,并测试所有功能是否正常。
点击查看答案
java
// 只需修改数据部分
String[] names = {"张三", "李四", "王五", "赵六", "孙七"};
int[] scores = {85, 62, 45, 92, 78};
int studentCount = 5;
// 其他代码完全不需要修改!
发现了吗?
使用循环的好处就是:数据增加时,逻辑代码不需要改动!
📌 小结
通过这个实战项目,你应该能够:
- 独立组织代码结构 - 将需求拆解成清晰的步骤
- 灵活运用基础知识 - 变量、循环、条件判断的综合应用
- 解决实际问题 - 从需求到代码的完整实现
下一步建议
- 尝试修改数据,观察程序运行结果
- 思考如何改进代码(比如让用户输入数据,而不是写死在代码里)
- 尝试添加新功能(比如按成绩排序)
记住:多动手才是进步的唯一方法!