Java基础案例怎么编写?

wen java案例 13

本文目录导读:

Java基础案例怎么编写?

  1. Java基础案例编写标准流程
  2. 初学必练的三个基础案例
  3. 给初学者的几点建议

学习 Java 基础,最好的方式就是动手敲代码,下面为你梳理一个标准的案例编写流程,并提供一个完整的分步示例(从需求分析到运行结果),帮助你建立正确的编码习惯。

Java基础案例编写标准流程

编写任何 Java 程序,建议遵循这 5 个步骤:

  1. 明确需求:程序要解决什么问题?输入什么?输出什么?
  2. 环境准备:确保已安装 JDK(建议 JDK 8 或 11/17),并配置好 JAVA_HOME 环境变量。
  3. 编写代码:使用文本编辑器(Notepad++)或 IDE(推荐 IntelliJ IDEA / Eclipse)编写 .java 文件。
  4. 编译代码:使用 javac 命令将 .java 文件编译成 .class 字节码文件。
  5. 运行程序:使用 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

给初学者的几点建议

  1. 手写代码:初期不要过度依赖 IDE 的自动补全,用手敲代码能帮你深刻记忆关键字和语法。
  2. 命名规范:类名用大驼峰(HelloWorld),方法名/变量名用小驼峰(getTotalScore),常量全大写(MAX_VALUE)。
  3. 注重编译错误:程序中报错不要慌,仔细看 javac 给出的错误信息,它通常会告诉你在哪一行出了什么错。
  4. 从简单开始:先写一个能运行的最小程序(比如只打印一句话),然后一点点叠加功能(变量、判断、循环……),每次小步迭代。

掌握了上述三个案例,你就已经搭建了 Java 基础编程的核心骨架,具备了进入更复杂领域(文件操作、集合框架、多线程)的能力,现在就可以打开 IDE 或记事本开始敲了!

抱歉,评论功能暂时关闭!