Java 中的命令行參數 [附示例]

已發表: 2021-03-03

在編寫 Java 程序時,您一定注意到 main() 方法中的 (String[] args)。 這些是存儲在傳遞給 main 方法的字符串中的命令行參數。 這些參數稱為命令行參數。

使用命令行參數是很常見的,因為您不希望您的應用程序在每次運行時都做同樣的事情。 如果我們想以某種方式配置它的行為,我們將不得不使用命令行參數。

目錄

命令行參數的用途是什麼?

這些命令行參數是從控制台傳遞的。 它們可以在 java 程序中接收以用作輸入。 我們可以傳遞任意數量的參數,因為它存儲在一個數組中。 這是一個如何使用命令行參數的示例。

在節目中

班級考試

{

公共靜態無效主要(字符串 [] 參數)

{

for(int i=0;i< args.length;++i)

{

System.out.println(args[i]);

}

}

}

在控制台中

java args1 args2 args3 ...

結果,我們將獲得帶有這些參數的輸出,我們將其作為輸入傳遞。 該程序將打印所有這些參數,並用新行分隔:

args1

args2

args3

正如我們所見,命令行參數只能是字符串類型。 如果我們想將數字作為參數傳遞怎麼辦? 假設您想在傳遞的參數中添加一些內容。 如果您使用上述程序執行此操作,它將類似於:

在節目中

班級考試

{

公共靜態無效主要(字符串 [] 參數)

{

for(int i=0;i< args.length;++i)

{

System.out.println(args[i]+1);

}

}

}

在控制台中

爪哇測試11 12 13

輸出

111

121

131

您可以看到它將字符附加到數字的“字符串”中。 要向它們添加數字,我們需要將參數轉換為整數形式。 為此,我們使用 Integer 類的 parseInt() 方法。 實施將像 -

在節目中

類測試{

公共靜態無效主要(字符串[]參數){

for (int i = 0; i < args.length ; ++i) {

int arg = Integer.parseInt(args[i]);

System.out.println(arg + 1);

}

}

}

在控制台中

爪哇測試11 12 13

輸出

12

13

14

如您所見,我們如何獲得我們想要的結果。 我們也可以使用 parseDouble() 和 parseFloat() 對 double() 和 float() 做同樣的事情。

有時,提供的參數無法轉換為特定的數字類型,這將導致稱為 NumberFormatException 的異常。

現在您可能認為我們正在將這些參數傳遞給我們的應用程序。 它會以任何方式影響應用程序的性能嗎? 答案是否定的。 傳遞參數不會減慢您的應用程序或對其產生任何其他性能影響。 即使是這樣,它也非常小,不應該引起注意。

閱讀: Java 項目理念和主題

Java中的變量參數

在 JDK 5 中,Java 包含一個新功能,可以簡化創建需要可變數量參數的方法。 此功能稱為 varargs,表示可變長度參數。 採用可變參數的方法稱為可變參數方法。

在 Java 中實現此功能之前,有兩種可能的方法可以在應用程序中傳遞變量參數。 其中一個是使用重載方法,另一個涉及在數組中傳遞參數,然後將該數組傳遞給方法。 這兩種方法都容易出錯。 Varargs 解決了以前方法帶來的所有問題,並帶來了乾淨和更少代碼的額外好處。

可變長度參數用三個句點 (...) 指定,下面是相同的完整語法 -

公共靜態 void varMethod(int … x)

{

// 方法體

}

上面的語法告訴編譯器 varMethod() 可以用零個或多個參數調用。

Varargs 也可以被重載。

使用可變參數有一些規則:

  • 方法中只能有一個變量參數。
  • 變量參數必須是最後一個參數。

在 Varargs 方法中使用兩個參數時發生錯誤

無效方法(字符串…str,int…a)

{

// 編譯時錯誤,因為有兩個可變參數

}

當我們將 Varargs 指定為第一個參數而不是最後一個參數時發生的錯誤

無效方法(int ... a,String str)

{

// 出現 vararg 時出現編譯時錯誤

// 在普通參數之前

}

所以,如果你想傳遞可變參數,你可以使用 varargs 方法。

從世界頂級大學在線學習軟件課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

Upskill,升級和更新

Java 確實是一種特殊的語言,並且被各種跨國公司和公司用於開發大型應用程序。

這些技能的範圍可以真正提升你的職業生涯。 upGrad一直提供機器學習、Java、C++、C、AI、自然語言處理等多種語言的編碼課程。 通過升級到未來的語言來照亮您的職業:Java!

如果您有興趣了解有關 Java 全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發執行 PG 計劃,該計劃專為工作專業人士設計,提供 500 多個小時的嚴格培訓,9+項目和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。

如何使用命令行運行 Java 類?

要使用命令行(即從shell 提示符)運行Java 類,只需鍵入命令java -jar jar_file.jar 其中jar_file.jar 是JAR 文件的名稱(例如QuoraAnswerManager.jar)。 在命令行中運行 Java 類的最簡單方法是對其進行編譯並為其提供類路徑。 使用以下命令編譯 Java 類:javac -classpath classpathMainFolder myClass.java。 然後使用以下命令運行編譯後的類:java -classpath classpathMainFolder myClass。

Java中的jar文件是什麼?

在 Java 中有許多類型的 jar 文件。 Jar 文件只是包。 JAR 文件格式最初是為 Java 創建的,旨在用於軟件分發。 JAR 文件有時被稱為 JAR 檔案,因為它們的功能類似於 ZIP 文件,因為它們將多個文件和目錄存儲在單個文件中以便於分發。 JAR 文件有時稱為 Java 存檔。 這在技術上是不正確的,但經常在 Java 社區中使用,其中歸檔和打包一詞有時用於指代 JAR 文件。