更新時(shí)間:2019-09-17 09:37:55 來源:動(dòng)力節(jié)點(diǎn) 瀏覽7512次
命令行參數(shù)可以是為應(yīng)用程序指定配置屬性的一種方式,Java也不例外。您可以從終端窗口運(yùn)行Java應(yīng)用程序,而不是單擊操作系統(tǒng)中的應(yīng)用程序圖標(biāo)。除了應(yīng)用程序名稱之外,還可以跟隨許多參數(shù),然后將這些參數(shù)傳遞給應(yīng)用程序的起始點(diǎn)(即,在Java的情況下為main方法)。
例如,NetBeans具有許多啟動(dòng)參數(shù),當(dāng)從終端窗口運(yùn)行時(shí),可以將這些參數(shù)傳遞給應(yīng)用程序(例如,-jdkhome指定要使用的JDK的版本,而不是與NetBeans應(yīng)用程序關(guān)聯(lián)的默認(rèn)JDK)。
main方法
讓我們檢查一下main方法,看看傳遞給應(yīng)用程序的參數(shù)出現(xiàn)在哪里:
命令行參數(shù)可以在名為的String數(shù)組中找到args。
例如,讓我們考慮一個(gè)被調(diào)用的應(yīng)用程序,CommandLineArgs其唯一的操作是打印傳遞給它的命令行參數(shù):
命令行參數(shù)的語法
Java運(yùn)行時(shí)引擎(JRE)期望遵循特定語法傳遞參數(shù),如下所示:
在上面,“java”調(diào)用JRE,后跟您正在調(diào)用的程序的名稱。接下來是程序的任何參數(shù)。程序可以采用的參數(shù)數(shù)量沒有限制,但順序很重要。JRE按照它們?cè)诿钚兄谐霈F(xiàn)的順序傳遞參數(shù)。例如,請(qǐng)考慮以上代碼段:
當(dāng)參數(shù)傳遞給Java程序時(shí),args[0]是數(shù)組的第一個(gè)元素(上面的value1),args[1]是第二個(gè)元素(value2),以此類推。length()代碼定義了數(shù)組的長(zhǎng)度。
通過命令行參數(shù)
在NetBeans中,我們可以傳遞命令行參數(shù),而不必構(gòu)建應(yīng)用程序并從終端窗口運(yùn)行它。要指定命令行參數(shù):
右鍵單擊“項(xiàng)目”窗口中的“項(xiàng)目”文件夾。
選擇Properties選項(xiàng)以打開項(xiàng)目屬性窗口。
在右邊的Categories列表中,選擇Run。
在出現(xiàn)的Arguments文本框中,指定要傳遞給應(yīng)用程序的命令行參數(shù)。例如,如果我們?cè)贏rguments文本框中輸入AppleBananaCarrot并運(yùn)行上面列出的CommandLineArgs程序,我們將得到輸出:
解析命令行參數(shù)
通常,會(huì)傳遞一個(gè)命令行參數(shù),其中包含一些關(guān)于如何處理傳遞的值的信息。通知應(yīng)用程序參數(shù)的參數(shù)通常在其名稱前有一兩個(gè)連字符。例如,用于指定JDK路徑的啟動(dòng)參數(shù)的NetBeans示例是-jdkhome。
這意味著您需要解析命令行參數(shù),以確定如何處理這些值。有幾個(gè)用于解析命令行參數(shù)的Java命令行框架。或者,如果需要傳遞的參數(shù)不多,也可以編寫一個(gè)簡(jiǎn)單的命令行解析器:
上面的代碼要么打印參數(shù),要么將它們相加(如果它們是整數(shù))。例如,這個(gè)命令行參數(shù)將添加數(shù)字:
以上就是如何在Java中使用命令行參數(shù)的詳細(xì)內(nèi)容,希望對(duì)大家有幫助,更多Java最新資訊請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743