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 文件。