跳转至

如何在命令行中运行 Java 程序

简介

在开发 Java 程序时,了解如何在命令行(CMD)中运行程序是一项基础且重要的技能。这不仅有助于理解 Java 程序的执行机制,还能在一些没有集成开发环境(IDE)的情况下方便地运行和测试代码。本文将详细介绍在 CMD 中运行 Java 程序的相关知识,包括基础概念、使用方法、常见实践以及最佳实践。

目录

  1. 基础概念
  2. 使用方法
    • 编写 Java 代码
    • 编译 Java 代码
    • 运行 Java 程序
  3. 常见实践
    • 处理多个类
    • 使用命令行参数
  4. 最佳实践
    • 设置环境变量
    • 组织项目结构
  5. 小结
  6. 参考资料

基础概念

Java 编译器(javac)

Java 编译器(javac)是 JDK(Java Development Kit)的一部分,它的作用是将 Java 源文件(.java 扩展名)编译成字节码文件(.class 扩展名)。字节码是一种中间表示形式,能够在任何安装了 Java 虚拟机(JVM)的平台上运行。

Java 虚拟机(JVM)

Java 虚拟机(JVM)是 Java 程序运行的基础。它负责加载字节码文件,并将字节码解释或编译成机器码,然后在操作系统上执行。JVM 提供了一个统一的运行环境,使得 Java 程序能够实现“一次编写,到处运行”的特性。

类路径(Classpath)

类路径(Classpath)是一个环境变量,它告诉 JVM 在哪里查找应用程序所需要的类。在运行 Java 程序时,JVM 会根据类路径来搜索和加载所需的类。如果类路径设置不正确,JVM 可能无法找到所需的类,从而导致运行时错误。

使用方法

编写 Java 代码

首先,我们需要编写一个简单的 Java 程序。打开文本编辑器(如 Notepad、Sublime Text 等),输入以下代码:

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

将文件保存为 HelloWorld.java,注意文件名必须与类名相同,并且后缀为 .java

编译 Java 代码

在命令行中,进入到保存 HelloWorld.java 文件的目录。例如,如果文件保存在 C:\JavaProjects\HelloWorld 目录下,打开命令提示符,输入以下命令:

cd C:\JavaProjects\HelloWorld

然后使用 javac 命令编译 Java 源文件:

javac HelloWorld.java

如果代码没有语法错误,命令执行后不会有任何输出,但在当前目录下会生成一个 HelloWorld.class 文件,这就是编译后的字节码文件。

运行 Java 程序

编译完成后,使用 java 命令运行程序:

java HelloWorld

你将在命令行中看到输出:

Hello, World!

需要注意的是,运行 java 命令时,不需要指定 .class 后缀。

常见实践

处理多个类

在实际项目中,一个 Java 应用程序通常包含多个类。假设我们有两个类 MainClassHelperClass,代码如下:

MainClass.java

public class MainClass {
    public static void main(String[] args) {
        HelperClass helper = new HelperClass();
        helper.printMessage();
    }
}

HelperClass.java

class HelperClass {
    public void printMessage() {
        System.out.println("This is a helper class message.");
    }
}

首先,编译这两个类:

javac MainClass.java HelperClass.java

然后运行 MainClass

java MainClass

输出结果:

This is a helper class message.

使用命令行参数

在 Java 程序中,我们可以通过 main 方法的 args 参数来接收命令行参数。以下是一个示例:

public class CommandLineArgs {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("The command line arguments are:");
            for (String arg : args) {
                System.out.println(arg);
            }
        } else {
            System.out.println("No command line arguments provided.");
        }
    }
}

编译并运行该程序,同时传递一些命令行参数:

javac CommandLineArgs.java
java CommandLineArgs arg1 arg2 arg3

输出结果:

The command line arguments are:
arg1
arg2
arg3

最佳实践

设置环境变量

为了方便在命令行中使用 javacjava 命令,我们需要设置 JDK 的安装路径到系统环境变量中。具体步骤如下: 1. 右键点击“此电脑”,选择“属性”。 2. 在弹出的窗口中,点击“高级系统设置”。 3. 在“系统属性”窗口中,点击“环境变量”按钮。 4. 在“系统变量”中,找到“Path”变量,点击“编辑”。 5. 点击“新建”,添加 JDK 的 bin 目录路径(例如 C:\Program Files\Java\jdk11\bin)。 6. 点击“确定”保存设置。

设置好环境变量后,在任何目录下都可以直接使用 javacjava 命令。

组织项目结构

对于较大的项目,合理的项目结构有助于提高代码的可维护性。常见的项目结构如下:

project/
├── src/
│   ├── com/
│   │   ├── company/
│   │   │   ├── MainClass.java
│   │   │   └── HelperClass.java
│   └──...
├── bin/
└──...

在这种结构下,src 目录用于存放 Java 源文件,bin 目录用于存放编译后的 .class 文件。编译时,可以使用以下命令:

javac -d bin src/com/company/*.java

-d 选项指定输出目录为 bin。运行时,进入 bin 目录并运行程序:

cd bin
java com.company.MainClass

小结

通过本文,我们详细了解了在命令行中运行 Java 程序的方法,包括基础概念、编写和编译代码、运行程序以及一些常见实践和最佳实践。掌握这些知识,能够帮助我们更好地理解 Java 程序的运行机制,并且在开发过程中更加灵活地进行代码测试和调试。希望本文对你有所帮助,祝你在 Java 开发的道路上取得进步!

参考资料