Java 编程入门

JavaBeginner
立即练习

介绍

在本实验中,我们将探讨高级编程语言的概念、它们的优势以及 Java 的工作原理。你将学习编写并运行你的第一个 Java 程序,获得 Java 编程基础的实际操作经验。

理解编程语言

编程语言分为高级语言和低级语言。低级语言,如机器语言和汇编语言,可以直接被计算机执行。而高级语言在执行之前需要翻译成低级语言。

高级语言具有以下优势:

  1. 编程更简单:代码更短、更易读且更不容易出错。
  2. 可移植性:相同的程序只需少量修改即可在不同的机器上运行。

由于这些优势,大多数程序都是用高级语言编写的,而低级语言则用于特定应用。

将高级语言翻译成低级语言有两种方法:

  1. 解释:解释器逐行读取并执行高级语言代码。
  2. 编译:编译器将整个高级程序一次性翻译成可执行代码。

Java 采用了一种混合方法,结合了编译和解释:

  1. Java 源代码首先被编译成字节码。
  2. 字节码随后由 Java 虚拟机(JVM)解释并执行。

这种方法结合了解释语言的可移植性和编译语言的性能优势。

Java 编译解释过程

什么是程序?

程序是指定如何执行计算的一系列指令。无论是数学计算还是符号操作,所有程序都由执行以下基本操作的语句组成:

  1. 输入:从各种来源(键盘、文件等)接收数据。
  2. 输出:将数据显示或发送到各种目的地(屏幕、文件等)。
  3. 数学运算:执行算术操作。
  4. 测试:检查条件并执行相应的语句。
  5. 重复:重复执行操作,通常会有变化。

编程涉及将复杂任务分解为更小的子任务,直到可以使用这些基本操作实现为止。

编写你的第一个 Java 程序

让我们创建你的第一个 Java 程序,传统上称为“Hello, World!”程序。这个简单的程序会在屏幕上显示文本“Hello, World!”。

LabEx 使用了一个类似于 VS Code 的在线 WebIDE 来编写和运行 Java 程序。

WebIDE Java 编程界面

首先,我们需要在 ~/project 目录下创建一个名为 Hello.java 的新文件。打开终端并执行以下命令:

cd ~/project
touch Hello.java

现在,在文本编辑器中打开 Hello.java 文件,并输入以下代码:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

让我们分解一下这个程序:

  1. public class Hello:这行代码定义了一个名为 Hello 的类。在 Java 中,每个程序必须至少有一个类。
  2. public static void main(String[] args):这是主方法。它是 Java 程序的入口点。当你运行 Java 程序时,执行从 main 方法开始。
  3. System.out.println("Hello, World!");:这行代码将文本“Hello, World!”打印到控制台。System.out 是一个表示标准输出的对象,而 println 是一个打印一行文本的方法。

编译和运行你的 Java 程序

现在我们已经编写了 Java 程序,接下来让我们编译并运行它。Java 使用两步流程:

  1. 编译:将人类可读的 Java 代码转换为字节码。
  2. 执行:使用 Java 虚拟机(JVM)运行字节码。

要编译你的程序,请使用 javac 命令,后跟你的 Java 文件名:

javac Hello.java

此命令将在同一目录下创建一个名为 Hello.class 的新文件。该文件包含程序的字节码版本。

Java 编译命令示例

要运行你的程序,请使用 java 命令,后跟你的类名(不带 .class 扩展名):

java Hello

你应该会看到以下输出:

Hello, World!

Java 程序执行输出

如果遇到任何错误,请仔细检查代码中的拼写错误,并确保你位于正确的目录(~/project)。

理解 Java 程序结构

让我们更详细地看一下 Java 程序的结构:

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
  1. public class Hello:这行代码声明了一个名为 Hello 的公共类。在 Java 中,类名必须与文件名匹配(不包括 .java 扩展名)。

  2. public static void main(String[] args):这是主方法的声明。它是 Java 程序的入口点。

    • public:这个关键字使方法可以从类外部访问。
    • static:这个关键字表示方法属于类本身,而不是类的任何特定实例。
    • void:这表示该方法不返回任何值。
    • main:这是方法的名称。Java 运行时查找此方法以开始执行程序。
    • String[] args:这声明了一个可以接受命令行参数的参数。
  3. System.out.println("Hello, World!");:这行代码将文本打印到控制台。

    • System 是一个提供对系统资源访问的类。
    • outSystem 类的一个静态成员,表示标准输出流。
    • printlnPrintStream 类(out 是其一个实例)的一个方法,用于打印一行文本。

修改你的 Java 程序

现在你已经了解了 Java 程序的基本结构,让我们修改“Hello, World!”程序,使其更具交互性。我们将创建一个程序,要求用户输入姓名,然后向他们问好。

首先,在 ~/project 目录下创建一个名为 Greeting.java 的新文件:

cd ~/project
touch Greeting.java

现在,在文本编辑器中打开 Greeting.java 并输入以下代码:

import java.util.Scanner;

public class Greeting {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.print("Please enter your name: ");
        String name = scanner.nextLine();

        System.out.println("Hello, " + name + "! Welcome to Java programming.");

        scanner.close();
    }
}

让我们分解一下这个程序中的新元素:

  1. import java.util.Scanner;:这行代码导入了 Scanner 类,我们用它来读取用户输入。
  2. Scanner scanner = new Scanner(System.in);:这创建了一个新的 Scanner 对象,用于从标准输入(键盘)读取数据。
  3. System.out.print("Please enter your name: ");:这行代码打印一个提示信息,但不会换行。
  4. String name = scanner.nextLine();:这行代码读取用户输入的一行文本,并将其存储在 name 变量中。
  5. System.out.println("Hello, " + name + "! Welcome to Java programming.");:这行代码打印一条包含用户姓名的问候语。
  6. scanner.close();:这行代码关闭 Scanner 对象以释放资源。

现在,编译并运行你的新程序:

javac Greeting.java
java Greeting

Java 程序问候输出

当提示时,输入你的姓名,你应该会看到一条个性化的问候语。

总结

在本实验中,你迈出了进入 Java 编程世界的第一步。你了解了高级编程语言及其优势,以及 Java 如何结合编译和解释以实现高效执行。你编写、编译并运行了你的第一个 Java 程序——传统的“Hello, World!”应用程序。你还创建了一个更具交互性的程序,该程序接收用户输入并提供个性化的问候。

这些基本概念和技能构成了 Java 编程的基础。随着你继续深入学习,你将基于这些基础知识创建更复杂和强大的应用程序。记住,编程是一项通过练习不断提高的技能,所以不要犹豫,大胆尝试修改代码并探索新事物。

如果你想了解更多关于 LabEx 及其使用方法的信息,可以访问我们的支持中心。或者你可以观看视频以了解更多关于 LabEx 的内容。

你的 Java 编程之旅才刚刚开始。继续练习,不断学习,享受成为一名熟练 Java 程序员的过程吧!