杰瑞科技汇

Java编写Application如何入门与运行?

与 Web 应用程序(在服务器上运行)或移动 App 不同,Java Application 通常指一个可以直接在操作系统(如 Windows, macOS, Linux)上运行的桌面或命令行程序,它拥有自己的主入口点,并且是学习 Java 基础的绝佳起点。

Java编写Application如何入门与运行?-图1
(图片来源网络,侵删)

我们将分步进行,从最简单的 "Hello, World!" 开始,逐步构建一个更复杂的交互式应用程序。


第一步:环境准备

在开始编写代码之前,请确保你已经安装了:

  1. Java Development Kit (JDK): 这是编译和运行 Java 程序所必需的工具包,你可以从 Oracle 官网OpenJDK 下载并安装。
  2. 集成开发环境 (IDE): 强烈推荐使用 IDE,它能极大地提高开发效率,流行的选择包括:
    • IntelliJ IDEA (社区版是免费的)
    • Eclipse IDE
    • VS Code (配合 Java 扩展)

本文将以 IntelliJ IDEA 为例进行讲解,但概念同样适用于其他工具。


第二步:创建你的第一个 Java Application

我们将创建一个经典的 "Hello, World!" 程序。

Java编写Application如何入门与运行?-图2
(图片来源网络,侵删)

创建新项目

  • 打开 IntelliJ IDEA。
  • 选择 "File" -> "New" -> "Project"。
  • 在左侧菜单中选择 "Java"。
  • 确保右侧的 "Project SDK" 已经正确配置为你安装的 JDK 版本。
  • 点击 "Create"。

编写代码

  • IntelliJ 会自动创建一个 src 目录(source code 的缩写),并可能已经包含一个 Main.java 文件,如果没创建,在 src 目录上右键 -> "New" -> "Java Class"。
  • 将文件命名为 Main(或任何你喜欢的名字,但类名必须和文件名完全一致,包括大小写)。
  • Main.java 文件中输入以下代码:
// Main.java
public class Main {
    // 这是程序的主入口点,Java 虚拟机 (JVM) 会从这里开始执行代码
    public static void main(String[] args) {
        // System.out.println 是一个向控制台输出文本并换行的命令
        System.out.println("Hello, World!");
    }
}

运行程序

  • 在代码编辑区的空白处右键,选择 "Run 'Main.main()'"。
  • 或者,点击编辑区右上角的绿色三角形 "▶" 按钮。

运行后,你会在下方的 "Run" 窗口中看到输出:

Hello, World!

代码解析:

  • public class Main: 定义一个名为 Main 的公共类,在 Java 中,所有代码都必须存在于类中。
  • public static void main(String[] args): 这是应用程序的主方法,是程序的入口点。
    • public: 表示这个方法可以被任何其他类访问。
    • static: 表示这个方法属于 Main 类本身,而不是类的某个实例,这样我们就可以在创建 Main 对象之前调用它。
    • void: 表示这个方法在执行完毕后不返回任何值。
    • main: 这是 JVM 识别的特殊方法名。
    • String[] args: 这是一个字符串数组参数,用于接收在命令行运行程序时传入的参数。
  • System.out.println("..."): 这是一个标准的 Java 语句,用于在控制台打印一行文本。

第三步:构建一个交互式应用程序

让我们创建一个稍微复杂一点的程序:一个简单的计算器,它可以接收用户输入并进行加法运算。

使用 Scanner 类获取用户输入

Scanner 是 Java java.util 包中的一个类,可以用来读取用户的输入。

Java编写Application如何入门与运行?-图3
(图片来源网络,侵删)

代码实现

创建一个新的 Java 类,命名为 SimpleCalculator

// SimpleCalculator.java
import java.util.Scanner; // 1. 导入 Scanner 类
public class SimpleCalculator {
    public static void main(String[] args) {
        // 2. 创建一个 Scanner 对象,用于读取从控制台输入的数据
        Scanner scanner = new Scanner(System.in);
        // 3. 提示用户输入第一个数字
        System.out.print("请输入第一个数字: ");
        double num1 = scanner.nextDouble(); // 读取用户输入的 double 类型数字
        // 4. 提示用户输入第二个数字
        System.out.print("请输入第二个数字: ");
        double num2 = scanner.nextDouble();
        // 5. 计算并打印结果
        double sum = num1 + num2;
        System.out.println("计算结果是: " + sum);
        // 6. 关闭 scanner,以释放系统资源 (好习惯)
        scanner.close();
    }
}

运行和交互

  • 运行 SimpleCalculator
  • 程序会首先打印 "请输入第一个数字: ",并等待你输入。
  • 输入一个数字(10),然后按回车键。
  • 程序接着打印 "请输入第二个数字: ",再次等待输入。
  • 输入另一个数字(5),然后按回车键。
  • 程序会立即打印出计算结果。

示例运行:

请输入第一个数字: 10
请输入第二个数字: 5
计算结果是: 15.0

代码解析:

  • import java.util.Scanner;: 因为 Scanner 不在默认的 java.lang 包中,所以需要 import 语句来引入它。
  • Scanner scanner = new Scanner(System.in);: 创建 Scanner 的一个实例,参数 System.in 表示标准输入流,也就是键盘输入。
  • scanner.nextDouble(): 调用 Scanner 对象的方法来读取下一个 double 类型的输入。
  • System.out.print(...): 与 println 类似,但它不会在输出后换行,这样用户的输入就可以出现在同一行。
  • scanner.close(): 非常重要! 当你不再需要 Scanner 时,应该关闭它,这会释放与 Scanner 关联的系统资源,避免资源泄漏。

第四步:打包和分发(创建可执行的 JAR 文件)

当你完成开发后,可能希望将你的程序分发给没有安装 IDE 的朋友,最好的方式是将其打包成一个 JAR (Java Archive) 文件

配置项目

在 IntelliJ IDEA 中,你需要告诉它哪个类是主类,以及如何运行它。

  • 打开 "File" -> "Project Structure"。
  • 选择 "Artifacts"。
  • 点击 号,选择 "JAR" -> "From modules with dependencies..."。
  • 在弹出的窗口中:
    • Main Class: 选择你的主类(com.example.Main)。
    • Build on: 确保 "Build on make" 被勾选。
    • 点击 "OK"。

构建JAR文件

  • 回到主界面,选择 "Build" -> "Build Artifacts..."。
  • 在菜单中选择你刚刚创建的 JAR 配置(simple-calculator:jar)。
  • IntelliJ 会开始编译项目并打包 JAR 文件,构建完成后,你可以在 out/artifacts/simple_calculator_jar 目录下找到生成的 simple-calculator.jar 文件。

运行 JAR 文件

  • 打开命令行工具(在 Windows 上是 CMD 或 PowerShell,在 macOS/Linux 上是 Terminal)。
  • 使用 cd 命令切换到 JAR 文件所在的目录。
  • 运行以下命令:
java -jar simple-calculator.jar

如果你的程序需要命令行参数,可以这样传递:

java -jar my-app.jar arg1 arg2

总结与最佳实践

  1. 类名和文件名: 必须完全一致(包括大小写)。
  2. 主方法: public static void main(String[] args) 是所有 Java Application 的起点。
  3. main 方法的参数: args 数组用于接收命令行参数,你可以通过 args[0] 来访问第一个参数,以此类推,使用前务必检查数组长度,避免 ArrayIndexOutOfBoundsException
  4. 资源管理: 对于像 Scanner, FileInputStream 等需要系统资源的对象,使用完毕后务必调用 close() 方法,推荐使用 try-with-resources 语句,它可以自动关闭资源,更加安全。

使用 try-with-resources 的例子:

public class Main {
    public static void main(String[] args) {
        // try-with-resources 语句
        try (Scanner scanner = new Scanner(System.in)) {
            System.out.print("请输入你的名字: ");
            String name = scanner.nextLine();
            System.out.println("你好, " + name + "!");
        } // scanner.close() 会在这里自动被调用,即使发生异常
    }
}

希望这个详细的指南能帮助你顺利开始 Java Application 的开发之旅!

分享:
扫描分享到社交APP
上一篇
下一篇