本文目录导读:

学习 Java 基础,最好的方式就是动手敲代码,下面为你梳理一个标准的案例编写流程,并提供一个完整的分步示例(从需求分析到运行结果),帮助你建立正确的编码习惯。
Java基础案例编写标准流程
编写任何 Java 程序,建议遵循这 5 个步骤:
- 明确需求:程序要解决什么问题?输入什么?输出什么?
- 环境准备:确保已安装 JDK(建议 JDK 8 或 11/17),并配置好
JAVA_HOME环境变量。 - 编写代码:使用文本编辑器(Notepad++)或 IDE(推荐 IntelliJ IDEA / Eclipse)编写
.java文件。 - 编译代码:使用
javac命令将.java文件编译成.class字节码文件。 - 运行程序:使用
java命令运行编译后的.class文件。
初学必练的三个基础案例
我为你准备了三个由浅入深的经典案例,建议从案例1开始,完整地走一遍流程。
案例1:Hello World(入门必修)
这是每一个程序员写的第一个程序,目的是验证环境并理解程序的基本结构。
需求: 在控制台打印一句“Hello, World!”。
编写代码(使用记事本或IDE):
创建一个名为 HelloWorld.java 的文件,内容如下:
/**
* 第一个Java程序:Hello World
* 文件名必须与类名一致,即 HelloWorld.java
*/
public class HelloWorld {
// main方法是程序的入口点
public static void main(String[] args) {
// 打印字符串到控制台
System.out.println("Hello, World!");
}
}
关键知识点回顾:
public class HelloWorld:定义一个公共类,类是 Java 程序的基本单位。public static void main(String[] args):主方法,JVM(Java虚拟机)从这里开始执行程序。System.out.println(...):标准输出语句,打印内容并换行。
编译与运行(在终端/命令提示符中执行):
# 编译:生成 HelloWorld.class 文件 javac HelloWorld.java # 运行:执行编译后的字节码文件(注意不要加 .class 后缀) java HelloWorld
输出结果:
Hello, World!
案例2:猜数字游戏(掌握逻辑与循环)
这个案例会让你熟悉变量、数据类型、Scanner输入、if判断、while循环、Math.random随机数这些最核心的基础语法。
需求: 系统随机生成一个 1-100 之间的整数,用户通过键盘输入数字来猜测,程序会提示“猜大了”或“猜小了”,直到猜中为止,最后统计并显示猜了多少次。
编写代码:
创建 GuessNumber.java 文件。
import java.util.Scanner; // 导入工具类,用于获取键盘输入
/**
* 猜数字游戏
*/
public class GuessNumber {
public static void main(String[] args) {
// 1. 随机生成一个 1-100 的数字
// Math.random() 返回 [0.0, 1.0) 的随机小数
int targetNumber = (int)(Math.random() * 100) + 1;
System.out.println("****** 欢迎来到猜数字游戏 ******");
System.out.println("目标数字已生成(1-100),开始猜吧!");
// 2. 初始化猜的次数和用户输入变量
int guessCount = 0;
Scanner scanner = new Scanner(System.in);
int userGuess = 0; // 初始化为0,确保进入循环
// 3. 使用 while 循环,直到猜中才退出
while (userGuess != targetNumber) {
System.out.print("请输入你的猜测(1-100):");
// 从键盘读取整数
if (scanner.hasNextInt()) { // 判断输入是否为整数
userGuess = scanner.nextInt();
guessCount++;
// 4. 逻辑判断
if (userGuess < targetNumber) {
System.out.println("提示:猜小了,再大一点!");
} else if (userGuess > targetNumber) {
System.out.println("提示:猜大了,再小一点!");
} else {
System.out.println("恭喜你,猜对了!");
System.out.println("你一共猜了 " + guessCount + " 次。");
}
} else {
System.out.println("错误!请输入整数。");
scanner.next(); // 清空错误输入
}
}
scanner.close(); // 关闭Scanner资源(好习惯)
System.out.println("****** 游戏结束 ******");
}
}
编译与运行(同上):
javac GuessNumber.java java GuessNumber
示例输出:
****** 欢迎来到猜数字游戏 ******
目标数字已生成(1-100),开始猜吧!
请输入你的猜测(1-100):50
提示:猜大了,再小一点!
请输入你的猜测(1-100):25
提示:猜小了,再大一点!
请输入你的猜测(1-100):30
恭喜你,猜对了!
你一共猜了 3 次。
****** 游戏结束 ******
案例3:学生成绩管理系统(面向对象入门)
此案例引入面向对象编程(OOP) 的思想,你会用到类与对象、封装、数组(或集合)、静态方法、代码复用等概念。
需求: 设计一个简单的程序,管理 3 名学生的姓名和 3 门课程的成绩,要求:
- 能够录入学生信息(姓名 + 3科成绩)。
- 能够分别计算每个学生的总分和平均分。
- 能够在控制台打印所有学生的信息报表。
代码结构设计(通常需2个文件):
- Student.java:定义“学生”这个对象,包含属性(姓名、成绩)和行为(计算总分、平均分)。
- StudentManager.java:管理类,负责主流程(创建学生、调用方法、打印报表)。
1 编写 Student.java:
/**
* 学生类
* 封装了学生的属性和行为
*/
public class Student {
// 属性(成员变量)
private String name; // 姓名
private double javaScore; // Java成绩
private double mathScore; // 数学成绩
private double englishScore; // 英语成绩
// 构造方法:用于创建学生对象时初始化属性
public Student(String name, double javaScore, double mathScore, double englishScore) {
this.name = name;
this.javaScore = javaScore;
this.mathScore = mathScore;
this.englishScore = englishScore;
}
// 行为方法:计算总分
public double getTotalScore() {
return javaScore + mathScore + englishScore;
}
// 行为方法:计算平均分(保留一位小数)
public double getAverageScore() {
// Math.round 四舍五入,然后除以10.0保留一位小数
return Math.round(getTotalScore() / 3.0 * 10) / 10.0;
}
// Getter方法:用于获取私有属性的值(封装的要求)
public String getName() {
return name;
}
// 打印单个学生信息的方法
public void printInfo() {
System.out.println(name + " | Java: " + javaScore + " 数学: " + mathScore + " 英语: " + englishScore + " | 总分: " + getTotalScore() + " 平均分: " + getAverageScore());
}
}
2 编写 StudentManager.java:
/**
* 学生成绩管理系统(主程序)
*/
public class StudentManager {
public static void main(String[] args) {
System.out.println("===== 学生成绩管理系统 =====");
// 1. 创建一个可以存放3个学生的数组
Student[] students = new Student[3];
// 2. 初始化学生对象(实际开发中可能从数据库或键盘输入)
students[0] = new Student("张三", 85.5, 92.0, 76.0);
students[1] = new Student("李四", 90.0, 88.5, 95.5);
students[2] = new Student("王五", 78.0, 81.0, 89.0);
// 3. 打印成绩报表
System.out.println("姓名 | 成绩明细 | 总分 | 平均分");
System.out.println("-----------------------------------------------");
double classTotal = 0; // 全班总分,用于计算总平均分
for (int i = 0; i < students.length; i++) {
Student s = students[i];
s.printInfo(); // 调用学生对象自己的打印方法
classTotal += s.getTotalScore();
}
// 4. 打印班级总平均分
double classAverage = Math.round(classTotal / (students.length * 3) * 10) / 10.0;
System.out.println("-----------------------------------------------");
System.out.println("班级总平均分: " + classAverage);
}
}
编译与运行(需同时编译两个文件):
# 编译所有 .java 文件 javac Student.java StudentManager.java # 运行主类 java StudentManager
输出结果:
===== 学生成绩管理系统 =====
姓名 | 成绩明细 | 总分 | 平均分
-----------------------------------------------
张三 | Java: 85.5 数学: 92.0 英语: 76.0 | 总分: 253.5 平均分: 84.5
李四 | Java: 90.0 数学: 88.5 英语: 95.5 | 总分: 274.0 平均分: 91.3
王五 | Java: 78.0 数学: 81.0 英语: 89.0 | 总分: 248.0 平均分: 82.7
-----------------------------------------------
班级总平均分: 86.2
给初学者的几点建议
- 手写代码:初期不要过度依赖 IDE 的自动补全,用手敲代码能帮你深刻记忆关键字和语法。
- 命名规范:类名用大驼峰(
HelloWorld),方法名/变量名用小驼峰(getTotalScore),常量全大写(MAX_VALUE)。 - 注重编译错误:程序中报错不要慌,仔细看
javac给出的错误信息,它通常会告诉你在哪一行出了什么错。 - 从简单开始:先写一个能运行的最小程序(比如只打印一句话),然后一点点叠加功能(变量、判断、循环……),每次小步迭代。
掌握了上述三个案例,你就已经搭建了 Java 基础编程的核心骨架,具备了进入更复杂领域(文件操作、集合框架、多线程)的能力,现在就可以打开 IDE 或记事本开始敲了!