从命令提示符执行 Java 程序
简介
在 Java 开发过程中,了解如何从命令提示符(Command Prompt)执行 Java 程序是一项基础且重要的技能。这不仅有助于我们理解 Java 程序的运行机制,还能在开发、调试以及部署等多个环节提供便利。本文将详细介绍从命令提示符执行 Java 程序的相关知识,包括基础概念、使用方法、常见实践和最佳实践。
目录
- 基础概念
- 使用方法
- 编写 Java 代码
- 编译 Java 代码
- 执行 Java 程序
- 常见实践
- 处理多个类
- 使用包(Packages)
- 最佳实践
- 设置环境变量
- 编写批处理文件(Windows)或 Shell 脚本(Linux / macOS)
- 小结
- 参考资料
基础概念
Java 程序的执行过程涉及两个主要步骤:编译(Compilation)和运行(Execution)。
编译
Java 源文件(扩展名为.java)包含我们编写的 Java 代码。编译器(例如 javac)会将这些源文件翻译成字节码(Bytecode),字节码文件的扩展名为.class。字节码是一种与平台无关的中间表示形式,这意味着 Java 程序可以在任何安装了 Java 虚拟机(JVM)的操作系统上运行。
运行
Java 虚拟机(JVM)负责加载字节码文件并执行其中的指令。在命令提示符中,我们使用 java 命令来启动 JVM 并运行 Java 程序。
使用方法
编写 Java 代码
首先,我们需要编写一个简单的 Java 程序。使用文本编辑器(如 Notepad、Sublime Text 等)创建一个名为 HelloWorld.java
的文件,并输入以下代码:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
在这段代码中,我们定义了一个名为 HelloWorld
的公共类,其中包含一个 main
方法。main
方法是 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 项目通常包含多个类。例如,我们有两个类 MainClass.java
和 HelperClass.java
,代码如下:
// 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 message from HelperClass.");
}
}
要编译和运行这个项目,首先编译所有的源文件:
javac MainClass.java HelperClass.java
然后执行 MainClass
:
java MainClass
使用包(Packages)
包是 Java 中组织类的一种方式。假设我们有一个包 com.example
,其中包含 MainApp.java
类:
// MainApp.java
package com.example;
public class MainApp {
public static void main(String[] args) {
System.out.println("This is a program in a package.");
}
}
首先,确保目录结构与包名一致。例如,MainApp.java
文件应该放在 com\example
目录下(在 Windows 系统中)。然后在包含 com
目录的父目录下进行编译:
javac com\example\MainApp.java
执行时,需要指定完整的类名(包括包名):
java com.example.MainApp
最佳实践
设置环境变量
为了更方便地使用 javac
和 java
命令,我们可以设置系统环境变量。在 Windows 系统中:
1. 右键点击“此电脑”,选择“属性”。
2. 点击“高级系统设置”。
3. 在“系统属性”窗口中,点击“环境变量”。
4. 在“系统变量”中找到“Path”变量,点击“编辑”。
5. 添加 Java 安装目录下的 bin
文件夹路径(例如 C:\Program Files\Java\jdk-11.0.10\bin
)。
在 Linux 和 macOS 系统中,可以编辑 .bashrc
或 .zshrc
文件,添加以下内容:
export PATH="/path/to/java/bin:$PATH"
编写批处理文件(Windows)或 Shell 脚本(Linux / macOS)
为了简化编译和运行过程,我们可以编写批处理文件(Windows)或 Shell 脚本(Linux / macOS)。
批处理文件(Windows)
在包含 Java 源文件的目录下创建一个名为 build_and_run.bat
的文件,内容如下:
@echo off
javac *.java
if %errorlevel% equ 0 (
java MainClass
)
pause
双击运行这个批处理文件,它会编译所有的 Java 源文件,并在编译成功后运行 MainClass
。
Shell 脚本(Linux / macOS)
在包含 Java 源文件的目录下创建一个名为 build_and_run.sh
的文件,内容如下:
#!/bin/bash
javac *.java
if [ $? -eq 0 ]; then
java MainClass
fi
设置脚本的可执行权限:
chmod +x build_and_run.sh
然后运行脚本:
./build_and_run.sh
小结
通过本文,我们详细了解了从命令提示符执行 Java 程序的基础概念、使用方法、常见实践和最佳实践。掌握这些知识对于 Java 开发者来说至关重要,它不仅能帮助我们更好地理解 Java 程序的运行机制,还能提高开发效率。希望读者通过实践,熟练掌握这一技能,并在 Java 开发中灵活运用。