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

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

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

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

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

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

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

如何在终端中运行 Java 代码

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

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

publicclassMain{publicstaticvoidmain(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 代码。

packagemyJavaProgram.Source;publicclassMain{publicstaticvoidmain(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 代码/程序。🥳

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,442评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,604评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,576评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,652评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,495评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,370评论 1 274
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,792评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,435评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,735评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,777评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,553评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,399评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,806评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,038评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,330评论 1 253
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,766评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,964评论 2 337

推荐阅读更多精彩内容