跳转至

在命令行运行 Java 程序

简介

在命令行运行 Java 程序是 Java 开发者必备的基础技能。它不仅能帮助我们深入理解 Java 程序的执行机制,还能在开发过程中快速测试代码,无需依赖复杂的集成开发环境(IDE)。本文将详细介绍在命令行运行 Java 程序的相关知识,包括基础概念、使用方法、常见实践以及最佳实践。

目录

  1. 基础概念
  2. 使用方法
    • 准备工作
    • 编译 Java 源文件
    • 运行 Java 类文件
  3. 常见实践
    • 处理多个类
    • 传递命令行参数
  4. 最佳实践
    • 设置环境变量
    • 使用脚本文件
  5. 小结
  6. 参考资料

基础概念

Java 程序的运行涉及两个主要步骤:编译和运行。

编译

Java 源文件(后缀为 .java)包含我们编写的 Java 代码。编译器(javac)会将这些源文件翻译成字节码文件(后缀为 .class)。字节码是一种中间表示形式,它可以在任何安装了 Java 虚拟机(JVM)的系统上运行。

运行

Java 虚拟机(JVM)负责加载并执行字节码文件。通过命令行工具 java,我们可以告诉 JVM 去运行特定的类。

使用方法

准备工作

  1. 安装 Java Development Kit(JDK):确保系统中安装了 JDK。可以从 Oracle 官网或其他可靠来源下载适合你操作系统的 JDK 安装包,并按照安装向导进行安装。
  2. 设置环境变量:将 JDK 的 bin 目录添加到系统的 PATH 环境变量中。这样,在命令行中就可以直接使用 javacjava 命令。

编译 Java 源文件

  1. 创建 Java 源文件:使用文本编辑器(如 Notepad++、Sublime Text 等)创建一个 Java 源文件,例如 HelloWorld.java,内容如下:
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
  1. 打开命令行窗口:在 Windows 系统中,可以通过 “开始” 菜单搜索 “命令提示符” 打开;在 Linux 或 macOS 系统中,可以使用终端应用。
  2. 切换到源文件所在目录:使用 cd 命令进入包含 HelloWorld.java 文件的目录。例如,如果文件存放在 C:\java_projects 目录下,可以在命令行中输入:
cd C:\java_projects
  1. 编译源文件:在命令行中输入编译命令 javac,后跟源文件名:
javac HelloWorld.java

如果编译成功,当前目录下会生成一个 HelloWorld.class 文件。

运行 Java 类文件

在命令行中输入运行命令 java,后跟类名(不包括 .class 后缀):

java HelloWorld

此时,命令行将输出:

Hello, World!

常见实践

处理多个类

在实际开发中,一个项目通常包含多个 Java 类。假设我们有两个类 MainClass.javaHelperClass.java,其中 MainClass 依赖 HelperClass

  1. HelperClass.java 代码
public class HelperClass {
    public void printMessage() {
        System.out.println("This is a message from HelperClass.");
    }
}
  1. MainClass.java 代码
public class MainClass {
    public static void main(String[] args) {
        HelperClass helper = new HelperClass();
        helper.printMessage();
    }
}
  1. 编译和运行
    • 编译所有源文件:
javac *.java
- 运行主类:
java MainClass

传递命令行参数

Java 的 main 方法接受一个字符串数组 args,可以通过命令行传递参数给程序。

  1. 修改 HelloWorld.java 代码以接受参数
public class HelloWorld {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("Hello, " + args[0] + "!");
        } else {
            System.out.println("Hello, World!");
        }
    }
}
  1. 编译并运行,传递参数
javac HelloWorld.java
java HelloWorld John

输出结果将是:

Hello, John!

最佳实践

设置环境变量

为了更方便地使用 Java 命令,建议将 JDK 的 bin 目录永久添加到系统的 PATH 环境变量中。不同操作系统设置环境变量的方法略有不同,但一般都可以在系统设置中找到相关选项。

使用脚本文件

对于经常运行的 Java 程序,可以编写脚本文件(如 .bat 文件在 Windows 系统,.sh 文件在 Linux 和 macOS 系统)来简化编译和运行步骤。

  1. Windows 系统的 .bat 文件示例(run_hello_world.bat
@echo off
javac HelloWorld.java
java HelloWorld
pause
  1. Linux 和 macOS 系统的 .sh 文件示例(run_hello_world.sh
#!/bin/bash
javac HelloWorld.java
java HelloWorld

需要注意的是,在 Linux 和 macOS 系统中,需要为脚本文件添加可执行权限:

chmod +x run_hello_world.sh

小结

通过本文,我们详细了解了在命令行运行 Java 程序的基础概念、使用方法、常见实践以及最佳实践。掌握在命令行运行 Java 程序的技能,能让我们更好地理解 Java 的编译和运行机制,提高开发效率。希望读者通过不断实践,熟练运用这些知识,在 Java 开发领域取得更好的成绩。

参考资料