Java 零基础教程

Java 第一个程序

让我们通过编写你的第一个程序来正式开启 Java 之旅!熟悉 Java 代码的基础语法和结构,为以后编写更复杂的程序打下坚实的基础。编写 "Hello, World!" 程序是编程界一项历史悠久的传统,它不仅简单,更是验证你的开发环境是否配置正确,以及检验你是否理解编写、编译和运行 Java 代码基本流程的最佳方式。

1. 创建你的第一个 Java 程序

"Hello, World!" 是一个非常简单的程序,它的唯一作用就是在控制台(屏幕)上输出 "Hello, World!" 这段文字。以下是创建它的具体步骤:

1.1 新建文件

打开你的文本编辑器或 IDE(集成开发环境),创建一个名为 HelloWorld.java 的新文件。
注意: 文件名必须与类名完全一致(包括大小写),并且必须以 .java 作为文件扩展名。

1.2 编写代码

将以下代码准确无误地输入到 HelloWorld.java 文件中:

public class HelloWorld { // 定义一个名为 HelloWorld 的类
    public static void main(String[] args) { // main 方法,这是整个程序的入口点
        System.out.println("Hello, World!"); // 在控制台打印输出 "Hello, World!"
    }
}

1.3 保存文件

将文件保存在你选择的目录(文件夹)中。请务必记住这个位置,因为你稍后需要在这个目录下编译和运行程序。

2. 逐行解析代码

初看这段代码可能有些陌生,让我们逐行拆解它:

  • public class HelloWorld {:这一行声明了一个名为 HelloWorld类 (class)。在 Java 中,所有的代码都必须驻留在类里面。public 关键字意味着这个类可以被程序中的任何其他部分访问。类是 Java 程序的基础构建块,我们将在第 4 模块深入探讨。
  • public static void main(String[] args) {:这一行定义了 main 方法。这是你程序的入口点——当你运行程序时,最先执行的就是这里的代码。
    • public:与类声明类似,它让 main 方法可以从类外部被调用(JVM 需要调用它)。
    • static:这个关键字表示 main 方法属于 HelloWorld 类本身,而不是属于该类的某个特定实例(对象)。我们会在第 5 模块详细讲解静态方法。
    • void:表示 main 方法不返回任何值。
    • main(String[] args)main 是方法名,括号里的是它的参数。String[] args 代表一个字符串数组,它可以用来接收从命令行传递给程序的参数。我们会在第 6 模块学习数组。

System.out.println("Hello, World!");:这行代码是程序的核心。它负责将 "Hello, World!" 打印到控制台上。

    • System.out:代表 Java 中的标准输出流,通常指的就是你的控制台/屏幕。
    • println():这是 System.out 对象自带的一个方法,用于在控制台打印一行文本并自动换行。要打印的文本必须用双引号 "" 括起来。

3. 编译与运行程序

代码写好后,你需要将其编译并运行。

3.1 打开终端或命令提示符

打开操作系统的命令行工具,并通过 cd 命令导航到你刚才保存 HelloWorld.java 文件的目录。

3.2 编译代码

使用 javac 命令来编译你的源代码:

javac HelloWorld.java

如果代码没有语法错误,编译会顺利完成,并且会在同一个目录下生成一个新的文件:HelloWorld.class。这个 .class 文件包含了字节码 (bytecode),也就是 Java 虚拟机 (JVM) 能够理解并执行的编译后版本。

3.3 运行代码

使用 java 命令来运行编译好的字节码文件:

java HelloWorld
注意: 运行时只需要写类名 HelloWorld,不要加 .class 后缀!

执行后,你应该能在控制台上看到输出结果:

Hello, World!

4. 常见错误与排查指南

即使是写 "Hello, World!" 这样简单的程序,你也可能会遇到一些报错。以下是新手常见的几种错误及其修复方法:

  • java.lang.NoClassDefFoundError:这通常意味着 JVM 找不到你的 .class 文件。
    • 解决: 确保你在正确的目录下执行命令,并且 HelloWorld.class 文件确实存在。另外,再次检查你运行的命令是否只有类名 (java HelloWorld),千万不要带上文件扩展名 (java HelloWorld.class)。
  • javac: command not found(或“不是内部或外部命令”):这意味着系统不认识 javac 命令。
    • 解决: 这通常是因为 JDK 没有正确安装,或者 JDK 的 bin 目录没有添加到系统的 PATH 环境变量中。请返回上一章,仔细检查 JDK 的安装和环境变量配置。
  • 编译错误 (Compilation errors):这些错误发生在运行 javac 期间,通常是因为代码有语法错误。
    • 解决: 仔细阅读控制台的报错信息,它通常会明确指出出错的行号和错误类型。例如,漏掉了一个分号 ; ,或者类名大小写拼写错误,都会导致编译失败。