# 如何编译和运行您的第一个 Java 程序

> 原文： [https://beginnersbook.com/2013/05/first-java-program/](https://beginnersbook.com/2013/05/first-java-program/)

在本教程中，我们将了解如何编写，编译和运行 java 程序。我还将介绍 java 语法，代码约定以及运行 java 程序的几种方法。

## 简单的 Java 程序：

```java
public class FirstJavaProgram {
  public static void main(String[] args){
    System.out.println("This is my first program in java");
  }//End of main
}//End of FirstJavaProgram Class

```

**输出：**这是我在 java 中的第一个程序

### 如何编译和运行上面的程序

> **先决条件：**你需要在你的系统上安装 java。你可以从[这里](http://www.oracle.com/technetwork/java/javase/downloads/index.html)获取 java。

**第 1 步：**打开一个文本编辑器，如 Windows 上的记事本和 Mac 上的 TextEdit。复制上述程序并将其粘贴到文本编辑器中。

> 您也可以使用像 Eclipse 这样的 IDE 来运行 java 程序，但我们将在后面的教程中介绍该部分。为简单起见，本教程仅使用文本编辑器和命令提示符（或终端）

**第 2 步：**将文件保存为 **`FirstJavaProgram.java`** 。您可能想知道为什么我们将文件命名为`FirstJavaProgram`，我们应该始终将文件命名为`public class`名称。在我们的程序中，`public class`名称是`FirstJavaProgram`，这就是为什么我们的文件名应该是 **`FirstJavaProgram.java`** 。

**第 3 步：**在这一步中，我们将编译程序。为此，在 Windows 上打开**命令提示符（cmd），如果您是 **Mac OS，则打开终端**。
要编译程序，请键入以下命令并按 Enter 键。**

```java
javac FirstJavaProgram.java
```

> 尝试编译程序时可能会出现此错误：“ **`javac`未被识别为内部或外部命令，可运行程序或批处理文件**”。在系统中未设置 java 路径时会发生此错误

如果出现此错误，则首先需要在编译之前设置路径。

**在 Windows 中设置路径：**

打开命令提示符（cmd），转到系统上已安装 java 的位置，找到 bin 目录，复制完整路径并在命令中写入这个。

```java
set path=C:\Program Files\Java\jdk1.8.0_121\bin
```

**注意：**您的 jdk 版本可能会有所不同。由于我的系统上安装了 java 版本`1.8.0_121`，因此我在设置路径时也提到了相同的内容。

**在 Mac OS X**

打开终端中设置路径，输入以下命令并按回车键。

```java
export JAVA_HOME=/Library/Java/Home
```

在终端上键入以下命令以确认路径。

```java
echo $JAVA_HOME
```

而已。

> 上面的步骤用于设置临时路径，这意味着当您关闭命令提示符或终端时，路径设置将丢失，您必须在下次使用它时再次设置路径。我将在下一个教程中分享永久路径设置指南。

**第 4 步：**编译完成后，`.java`文件被转换为`.class`文件（字节码）。现在我们可以运行该程序。要运行该程序，请键入以下命令并按`Enter`键：

```java
java FirstJavaProgram
```

> 请注意，在运行程序时，不应将`.java`扩展名附加到文件名。

## 仔细看看第一个 Java 程序

现在我们已经了解了如何运行 java 程序，让我们仔细看看上面编写的程序。

```java
public class FirstJavaProgram {
```

这是我们 java 程序的第一行。每个 java 应用必须至少有一个类定义，包含`class`关键字后跟类名。当我说关键字时，它意味着它不应该被改变，我们应该按原样使用它。但是类名可以是任何名称。

我已经通过使用公共访问修饰符公开了类，我将在一个单独的帖子中介绍访问修饰符，现在你需要知道一个 java 文件可以有任意数量的类但它只能有一个公共类和文件名应该与公共类名相同。

```java
public static void main(String[] args)  {
```

这是我们在程序中的下一行，让我们分解它来理解它：
`public`：这使得`main`方法公开，这意味着我们可以从类外调用该方法。

`static`：我们不需要为静态方法创建对象来运行。他们可以自己跑。

`void`：它没有返回任何东西。

`main`：这是方法名称。这是 JVM 可以运行程序的入口点方法。

`(String[] args)`：用于作为字符串传递的命令行参数。我们将在另一篇文章中介绍。

```java
System.out.println("This is my first program in java");
```

此方法将双引号内的内容打印到控制台中，然后插入换行符。

**在阅读下一个主题之前，查看这些基本的 [java 程序](https://beginnersbook.com/2017/09/java-examples/)：**

*   [Java 程序：读取数字（由用户输入）](https://beginnersbook.com/2017/09/java-program-to-read-integer-value-from-the-standard-input/)
*   [Java 程序：检查数字是正数还是负数](https://beginnersbook.com/2017/09/java-program-to-check-if-number-is-positive-or-negative/)
*   [Java 程序：添加两个数字](https://beginnersbook.com/2017/09/java-program-to-add-two-numbers/)