如果你使用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
或者,如果我愿意,我也可以使用我的终端去那里。我需要使用来指示我要更改目录。 cd
在这种情况下,我可以使用.由于我的用户名包含空格,因此我习惯于将它们封闭起来。 cd "C:\Users\Md. Fahim Bin Amin\Documents"
"
"
然后,如果我检查该目录下的所有文件,那么我也将获得该文件。 Main.java
这次我把文件放在我的D驱动器下。所以我使用命令进入了那个目录。 Main.java
cd
我也在终端中获取我的Java文件。
如何进入源代码所在的目录:适用于 Linux 🐧
您可以按照典型的GUI方式进入保存源代码的目录,也可以使用命令从终端进入保存源代码的目录。 cd
使用典型的 GUI 方式使用命令 cd
🧑 💻如何编译 Java 代码
在运行我们的Java代码之前,我们需要先编译它。要编译Java代码/程序,我们获取类文件。然后我们需要执行/运行类文件。
如何使用终端编译 Java 代码
我们需要使用 命令 。例如,由于我想编译我的,我将使用命令。in 表示编译。 javac file_name_with_the_extension
Main.java
javac Main.java
c
javac
如果编译过程成功,则我们不会收到任何错误。
这将在同一目录下创建我们需要的类文件。
请记住,我们运行的是类文件,而不是文件。 .java
相同的过程适用于所有操作系统。
在 Linux 操作系统中
🖥️ 如何运行 Java 代码
我们运行该文件以执行 Java 程序。为此,我们使用 命令 。就像,正如我们的文件一样,我们的命令将是。 .class
java class_file_name_without_the_extension
.class
Main.class
java Main
Java 程序已成功执行!
完全相同的过程也适用于其他操作系统。
在 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
文件夹
它会立即创建 myJavaProgram 文件夹。
在该文件夹中,它将创建“源”文件夹。
在源文件夹中,它创建我们的文件。我们需要这个文件来运行Java程序。 .class
现在,如果我们要运行该文件,则需要稍微更改命令,因为我们需要在终端窗口中提供文件的目录。 .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
如果你想知道为什么我们现在要更改命令,那是因为早些时候我们没有声明任何包。因此,Java编译器在我们的源代码所在的目录中创建了该文件。因此,我们可以直接从那里获取文件并执行类文件。 .class
.class
但是,如果我们像这样在源代码中声明包,那么我们就是在告诉编译器在另一个地方创建文件(而不是在源代码当前所在的目录中)。这意味着我们不会直接在那里获取类文件。 .class
由于我们要运行类文件,因此我们需要明确告知编译器类文件当前的位置,以便它可以获取类文件并执行它。
如果您认为可能会搞砸此步骤,则可以直接从 Java 代码中复制该目录。
在第 1 行中,我们声明了包目录(我们希望在其中生成类文件)。因此,如果我们只是简单地复制目录,并在后面添加不带扩展名( )的文件名,并加上句点( ),那么它就满足执行任何在源代码中声明了包的Java代码的条件。 .class
.class
.
相同的过程也适用于其他操作系统。我在这里提供来自Linux操作系统的屏幕截图:
在 Linux 机器中运行具有包的 Java 代码干得好!👏 现在,您可以使用终端直接运行任何 Java 代码/程序。🥳