如何从终端执行和运行 Java 代码

1,333 阅读6分钟

如果你使用Java,你可能已经使用了一个众所周知的文本编辑器,如Sublime Text,VS Code,Brackets,Atom和Notepad ++以及像Apache NetBeans和IntelliJ IDEA这样的IDE。

在IDE中运行代码很简单,但是您通常不会看到它如何执行代码(即使您当然可以在终端中检查命令!

但是,最好了解代码的实际执行方式并提供代码的输出。

你们中的许多人可能听说过,经验丰富的专业程序员也使用终端来执行程序。这为他们提供了更好的清晰度,并帮助他们了解代码的工作原理,返回所需值的位置,bug可能的位置等等。

无论您的目的是什么,直接从终端执行Java代码都是一项非常简单的任务。

在本文中,我将向您展示如何直接从您喜欢的终端窗口执行Java。不要害怕!该过程非常简单,在阅读整篇文章后,您应该能够在终端中运行自己的Java代码。

如何在终端中运行 Java 代码

我将在本文中向您展示的过程适用于任何操作系统,无论是Windows,MacOS还是Linux。

我将在下一步中使用以下 Java 代码。

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

📦 步骤1 - 转到源代码所在的目录

如果您已经在编辑器中编写了Java代码,那么只需进入该目录即可。如果需要,您可以通过文件管理器直接进入目录。

如何进入源代码所在的目录:对于Windows 🪟

假设我在>文件夹中有源代码( )。我可以通过我的文件资源管理器简单地去那里。 Main.java This PC Documents

Untitled或者,如果我愿意,我也可以使用我的终端去那里。我需要使用来指示我要更改目录。 cd

在这种情况下,我可以使用.由于我的用户名包含空格,因此我习惯于将它们封闭起来。 cd "C:\Users\Md. Fahim Bin Amin\Documents" " "

然后,如果我检查该目录下的所有文件,那么我也将获得该文件。 Main.java

这次我把文件放在我的D驱动器下。所以我使用命令进入了那个目录。 Main.java cd

Screenshot-2022-03-08-022040我也在终端中获取我的Java文件。

如何进入源代码所在的目录:适用于 Linux 🐧

您可以按照典型的GUI方式进入保存源代码的目录,也可以使用命令从终端进入保存源代码的目录。 cd

截屏-2022-03-10-124200使用典型的 GUI 方式截屏-2022-03-10-124317使用命令 cd

🧑 💻如何编译 Java 代码

在运行我们的Java代码之前,我们需要先编译它。要编译Java代码/程序,我们获取类文件。然后我们需要执行/运行类文件。

如何使用终端编译 Java 代码

我们需要使用 命令 。例如,由于我想编译我的,我将使用命令。in 表示编译。 javac file_name_with_the_extension Main.java javac Main.java c javac

Screenshot-2022-03-10-122312如果编译过程成功,则我们不会收到任何错误。

Screenshot-2022-03-10-122345这将在同一目录下创建我们需要的类文件。

Screenshot-2022-03-10-122628请记住,我们运行的是文件,而不是文件。 .java

相同的过程适用于所有操作系统。

截屏-2022-03-10-124951在 Linux 操作系统中

🖥️ 如何运行 Java 代码

我们运行该文件以执行 Java 程序。为此,我们使用 命令 。就像,正如我们的文件一样,我们的命令将是。 .class java class_file_name_without_the_extension .class Main.class java Main

Screenshot-2022-03-10-125223Java 程序已成功执行!

完全相同的过程也适用于其他操作系统。

截屏-2022-03-10-125317在 Linux 操作系统中

🏅奖励:如何使用包运行 Java 程序

包基本上意味着一个文件夹。之前,我向您展示了如何使用终端使用任何常规Java代码。在那里,我没有在Java代码中使用任何包。

现在,我将向您展示如何运行其中声明了包的任何 Java 代码。这一次,我将使用以下 Java 代码。

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

在第一行中,我将包编写为.这表示我要创建一个名为 的文件夹。然后,我想在该名称下创建另一个文件夹。最后,我想在文件夹中创建我的Java代码的类文件。 package myJavaProgram.Source myJavaProgram Source Source

目录树如下所示:myJavaProgram > Source。

为了使用包编译这种类型的Java代码,我们使用命令 。 javac -d . file_name_with_the_extension

至于现在,我正在使用该文件,因此我将应用命令。这将创建一个名为 myJavaProgram 的文件夹,然后在我的源文件现在所在的目录下的 myJavaProgram 文件夹下创建另一个名为 Source 的文件夹。 Main.java javac -d . Main.java

  • The_Directory_Where_I_Have_Kept_My_Source_Code
  • myJavaProgram 文件夹
  • Source 文件夹

Screenshot-2022-03-10-134626它会立即创建 myJavaProgram 文件夹。

Screenshot-2022-03-10-134710在该文件夹中,它将创建 “源” 文件夹。

Screenshot-2022-03-10-134806在源文件夹中,它创建我们的文件。我们需要这个文件来运行Java程序。 .class

Screenshot-2022-03-10-134853现在,如果我们要运行该文件,则需要稍微更改命令,因为我们需要在终端窗口中提供文件的目录。 .class .class

我们使用该命令运行带有包的 Java 程序。 java directory_of_the_class_file.the_class_file_name_without_the_extension

当我使用并且需要运行该文件时,我的命令将是.它将运行如下Java代码。 Main.java Main.class java myJavaProgram.Source.Main

Screenshot-2022-03-10-135226如果你想知道为什么我们现在要更改命令,那是因为早些时候我们没有声明任何包。因此,Java编译器在我们的源代码所在的目录中创建了该文件。因此,我们可以直接从那里获取文件并执行类文件。 .class .class

但是,如果我们像这样在源代码中声明包,那么我们就是在告诉编译器在另一个地方创建文件(而不是在源代码当前所在的目录中)。这意味着我们不会直接在那里获取类文件。 .class

由于我们要运行类文件,因此我们需要明确告知编译器类文件当前的位置,以便它可以获取类文件并执行它。

如果您认为可能会搞砸此步骤,则可以直接从 Java 代码中复制该目录。

Screenshot-2022-03-10-135404在第 1 行中,我们声明了包目录(我们希望在其中生成类文件)。因此,如果我们只是简单地复制目录,并在后面添加不带扩展名( )的文件名,并加上句点( ),那么它就满足执行任何在源代码中声明了包的Java代码的条件。 .class .class .

相同的过程也适用于其他操作系统。我在这里提供来自Linux操作系统的屏幕截图:

截屏-2022-03-10-140017在 Linux 机器中运行具有包的 Java 代码干得好!👏 现在,您可以使用终端直接运行任何 Java 代码/程序。🥳