Java 编程入门

Java 编程入门

Java 广泛用于企业系统、安卓和服务器。它的优势是同一个程序可以在多种操作系统上运行:源代码被编译为字节码,再在 JVM(Java 虚拟机)上执行。本文将带你编写第一个程序,学习变量、条件、循环和类,然后自己编译并运行。

本文所有示例都使用 Java 17 编译并运行,展示的输出为真实结果。

需要准备的东西

工作原理

示意图:.java 文件经 javac 编译为 .class 字节码,再由 java 在 JVM 上运行
示意图:.java 文件经 javac 编译为 .class 字节码,再由 java 在 JVM 上运行

三个步骤:编写 `.java` 文件,用 `javac` 编译得到 `.class` 文件,再用 `java` 运行。

第一个程序

创建 `Hello.java`。类名必须与文件名一致。输入以下代码:

public class Hello {
    public static void main(String[] args) {
        System.out.println("สวัสดี Java");
    }
}

编译并运行:

javac -encoding UTF-8 Hello.java
java -Dfile.encoding=UTF-8 Hello

输出:

สวัสดี Java

`main` 是程序的起点。`System.out.println` 用于输出文字。`-encoding UTF-8` 确保文件中的泰语被正确读取。

变量与类型

Java 是静态类型语言,必须为每个变量声明类型。

类型用于存储示例
int整数`int age = 20;`
double小数`double price = 19.5;`
boolean真或假`boolean passed = true;`
String文本`String name = "สมชาย";`

条件与循环

下面的例子包含一个根据分数判定等级的 `Student` 类,以及遍历学生列表的 `for` 循环。

import java.util.ArrayList;
import java.util.List;

public class Hello {
    static class Student {
        String name;
        int score;

        Student(String name, int score) {
            this.name = name;
            this.score = score;
        }

        String grade() {
            if (score >= 80) return "A";
            else if (score >= 70) return "B";
            else if (score >= 50) return "C";
            return "F";
        }
    }

    public static void main(String[] args) {
        System.out.println("สวัสดี Java");

        List<Student> students = new ArrayList<>();
        students.add(new Student("สมชาย", 85));
        students.add(new Student("สมหญิง", 72));
        students.add(new Student("สมศักดิ์", 45));

        int total = 0;
        for (Student s : students) {
            System.out.println(s.name + " ได้เกรด " + s.grade());
            total += s.score;
        }
        System.out.println("คะแนนเฉลี่ย: " + (total / students.size()));
    }
}

实际输出:

สวัสดี Java
สมชาย ได้เกรด A
สมหญิง ได้เกรด B
สมศักดิ์ ได้เกรด F
คะแนนเฉลี่ย: 67

需要注意:

新手常见错误

下一步

尝试编写一个小型计算器,用 `ArrayList` 保存数据,并把代码拆分成多个文件和多个类,然后再学习使用 Spring Boot 进行 Web 开发。

总结

Java 先编译源代码,再在 JVM 上运行。程序的起点是 `main` 方法,变量需要明确的类型,类用于组织程序结构。