使用命令行工具運行 Java(學習 Java 編程語言 002)

1. 運行 Java 程序

JDK 的全部工做都要在終端窗口中鍵入命令來完成。下面演示如何在命令行編譯並運行 Java 程序。java

  1. 建立 Welcome.java 文件bash

    public class Welcome {
        public static void main(String[] args) {
            String greeting = "Welcome to xiang017";
            System.out.println(greeting);
    
            for (int i = 0; i < greeting.length(); i++) {
                System.out.print("=");
            }
            System.out.println();
        }
    
    }
  2. 打開命令行窗口,進入 Welcome.java 文件所在的目錄。
  3. 鍵入下面的命令:ide

    javac Welcome.java
    java Welcome編碼

    下面展現在終端執的行結果:命令行

    C:\xiang017>javac Welcome.java
    
    C:\xiang017>java Welcome
    Welcome to xiang017
    ===================
  • javac 程序是一個 Java 編譯器,它將文件 Welcome.java 編譯成 Welcome.class。
  • java 程序啓動 Java 虛擬機,虛擬機執行編譯器編譯到類文件中的字節碼。

2. 使用終端須要注意一下幾點:

  1. 手動輸入源程序,必定要注意大小寫。類名和文件名一致。
  2. 編譯時須要一個文件名(Welcome.java)。運行程序時,須要類名(Welcome),不要帶擴展名 .class 或 .java。
  3. 若是看到如 Bad command or file name 或 java:command not found 之類的消息,就要檢查 JDK 安裝是否正確。
  4. 若是 javac 報告一個錯誤,指出沒法找到 Welcome.java,就應該檢查目錄中是否存在這個文件。
  5. 運行程序後,若是收到關於 java.lang.NoClassDefFoundError 的錯誤消息,就應該仔細檢查出問題的類名。
  6. 若是鍵入 java Welcome,而虛擬機沒有找到 Welcome 類,就應該檢查是否有人設置了系統的 CLASSPATH 環境變量(將這個變量設置爲全局並非提倡的作法,然而, Windows 中有些比較差的軟件安裝程序確實會這樣作)。能夠像設置 PATH 環境變量同樣設置 CLASSPATH,不過這裏將刪除這個設置。

3. 編譯源程序有兩種方法:

定義 2 個源文件,分別爲 Xiang017.java 和 Xiang017Test.java,內容以下:code

public class Xiang017 {
    public void show() {
        System.out.println("xiang017 -> show()");
    }
}
public class Xiang017Test{
    public static void main(String[] args) {
        Xiang017 x = new Xiang017();
        x.show();
    }
}
  1. 使用通配符調用 Java 編譯器
    javac Xiang017*.java

    全部與通配符匹配的源文件都將被編譯成類文件。blog

  2. 關聯編譯 Java 文件utf-8

    javac Xiang017Test.java

    並無顯示地編譯 Xiang017.java。
    當 Java 編譯器發現 Xiang017Test.java 使用了 Xiang017 類時會查找名爲 Xiang017.class 的文件。若是沒有找到這個文件,就會自動地搜索 Xiang017.java,而後,對它進行編譯。
    更重要的是: 若是 Xiang017.java 版本較已有的 Xiang017.class 文件版本新,Java 編譯器就會自動地從新編譯這個文件。編譯器

3. 在 Windows 命令行窗口中運行UTF-8 編碼的 Java 文件

在 Windows 命令行中執行 Java 源碼時,若是文件中有中文,就會報錯。緣由是命令行是以 GBK 的格式執行源碼文件,中文解析出現亂碼,源碼就沒法編譯運行了。源碼

在添加環境變量 JAVA_TOOL_OPTIONS,將值設置爲 「-Dfile.encoding=UTF-8」,就能夠解決上述問題。
JAVA_TOOL_OPTIONS 環境變量

執行命令:
javac Xiang017.java
輸出:
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 這樣就能夠執行 utf-8 編碼格式的 Java 源碼文件,

相關文章
相關標籤/搜索