在上一課中,我們編譯了一個小程序並得到了MySolution.class文件,其中包含我們的程序作為字節碼。源代碼是這樣的:

class MySolution {
   public static void main(String[] args) {
      System.out.println("Hi, command line!");
   }
}

現在讓我們將這個.class文件傳遞給 JVM 來執行它。為此,我們將使用java命令,指定包含main方法的類的名稱:

D:\temp>java MySolution

我們看到“嗨,命令行!” 在控制台上。

請注意,此處您需要指定的不是文件名 ( MySolution.class ),而是類名 ( MySolution )。

讓我們嘗試從控制台運行另一個程序。這次我們將使用args數組,main方法的輸入參數:

public class MyArgs {
    public static void main(String[] args) {
        if (args.length == 3) {
            System.out.println(args[0].toLowerCase());
            System.out.println(args[1].toUpperCase());
            System.out.println(args[2].length());
        } else {
            System.out.println("Three parameters are expected.");
        }
    }
}

讓我們編譯...

D:\temp>javac MyArgs.java

並運行:

D:\temp>java MyArgs

輸出如下:需要三個參數

在最近的命令中,在類名之後,您可以指定將在args字符串數組中結束的參數。例如,如果您傳遞以下參數:

D:\temp>java MyArgs One Two Three

然後 args 數組將是 ["One", "Two", "Three"]

屏幕輸出將是:

一二

_

如果您希望參數包含空格,則需要將其用雙引號引起來:

D:\temp>java MyArgs "One Two" Three "Four Five Six"

輸出:


二三
13

如果您的程序由單個文件組成,則有一種簡單的方法可以讓您無需顯式編譯即可運行它。只需告訴java實用程序您的文件名(包括.java擴展名)和任何參數:

D:\temp>java MyArgs.java param1 param2

此功能是在 Java 11 中添加的,目的是讓剛開始學習編程語言的人的生活更輕鬆。

如需更多詳細信息:
java 命令具有內置幫助。要顯示它,請在命令行上運行以下命令:
  • java --help