導航:首頁 > 程序命令 > java命令參數

java命令參數

發布時間:2023-08-21 13:13:05

java main方法中的命令行參數

作用:
當你使用命令行的形式運行.class文件時,向你的類傳遞參數.

C:\>java YourClassName 參數1 [參數2 參數3 ....]

參數之間用一個空格作為間隔符.

String[] args 這個字元串數組是保存運行main函數時輸入的參數的,例如main函數所在的類名為test 那麼你在cmd運行 java test a b c 時,args[0] = a ,args[1]=b, args[2]=c 你就可以在你的程序中調用你輸入的這些變數了。

args[]不就是那個字元串This is a simple Java program嗎?
-------完全不是的,你理解不對。這樣好了,你在運行的時候加個參數,比如 java test XX。然後在你的main函數裡面加這段話:System.out.println("arg is"+args[0]),然後看看輸出是什麼?
是不是這個:
This is a simple Java program
arg is XX

在運行時輸入java test xx yy zz,並且在你的main函數裡面加這段話:System.out.println("arg is"+args[0]+" "+args[1]+" "+args[2]),然後看看輸出是什麼?
是不是:
This is a simple Java program
arg is xx yy zz

現在你理解了嗎。。。

如果沒關系,為什麼程序中去掉String args[]會出現錯誤?
--------之所以去掉會出錯在於,不帶String args[]的main函數和帶String args[]的main函數,本質上已經不是同一個函數了,java 本身不存在不帶String args[]的main函數,所以當然出錯了。

② java命令行參數是什麼意思

這個名詞我們可以分開來看:

「命令行"就是:DOC命令行"了,也就是那個黑色的框框。
"參數就"是程序裡面所需要的"參數"了。
合起來"命令行參數」就是「在DOC下輸入的程序所需的參數」。

③ java-jar命令設置啟動參數

java-jar命令設置啟動參數三種方法。
1、DpropName等於propValue的形式攜帶,要放在jar參數前面。
2、參數直接跟在命令後面。
3、springboot的方式,key等於value方式。

④ java 中 如何通過命令行來傳遞參數

可以在命令行運行java程序時加上程序的參數。

例子如下:

public class HelloWorld{


public static void main(String args[]){


System.out.println("temp=" + args[0]);


}


}

源代碼截圖:

解釋一下: String[ ] args

該參數,是一個字元串數組,用來接收從命令行輸入的參數

1. 參數之間用空格隔開

2. java解釋器會自動處理,把用空格隔開的每一個參數通過args數組傳遞給買呢()方法。

3. 參數的下標從0開始,args[0]表示第一個參數,例如java HelloWorld 10 20 30

4.可以有多個空格,多個空格會被忽略。

(4)java命令參數擴展閱讀:

Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。

Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等 。

⑤ 如何用命令行運行java程序及輸入main函數參數的輸入

main函數也可以帶參數。帶參數main函數的定義格式如下:
void main(int argc, char *argv[])
{
... ...
}
argc和argv是main函數的形式參數。這兩個形式參數的類型是系統規定的。如果main函數要帶參數,就是這兩個類型的參數;否則main函數就沒有參數。變數名稱argc和argv是常規的名稱,當然也可以換成其他名稱。
那麼,實際參數是如何傳遞給main函數的argc和argv的呢?我們知道,C程序在編譯和鏈接後,都生成一個exe文件,執行該exe文件時,可以直接執行;也可以在命令行下帶參數執行,命令行執行的形式為:
可執行文件名稱 參數1 參數2 ... ... 參數n

執行文件名稱和參數、參數之間均使用空格隔開。例如,在linux下運行程序./a.out 1 2 ,可執行文件名稱為./a.out,參數1為字元串1,參數2為2。
如果按照這種方法執行,命令行字元串將作為實際參數傳遞給main函數。具體為:
(1) 可執行文件名稱和所有參數的個數之和傳遞給argc;所以上面的argc=3
(2) 可執行文件名稱(包括路徑名稱)作為一個字元串,首地址被賦給argv[0],參數1也作為一個字元串,首地址被賦給argv[1],... ...依次類推。

⑥ 運行jar文件中的class文件,需要在java命令後面加參數

需要在java命令後面加的參數為 -cp

⑦ Java怎麼解析命令行參數

用慣了控制台的java程序之後,最印象深刻的是其的簡單與快捷,雖沒有圖形界面那樣吸引人的眼球,但卻也足以迷倒眾生。那麼java命令行參數有哪些呢?跟gkstk小編一起來學習吧!
控制台程序的運行少不了要通過控制台來傳遞參數,譬如:
Sh代碼
ls -la
這是shell腳本的常用命令,其就是通過後置參數來傳遞相關信息。UNIX環境為C語言中提供了getopt()這樣的函數可以解析後置參數,這個函數是很實用很強大的,但Java就...(我Google了一下,倒沒有怎麼找出來)。大概是這個功能對Java來說太不足掛齒了吧,但總得有個解決方法才行。
下面就是一個代碼實例,用以說明。
這個實例運行的結果是運行在控制台,並允許可選的輸入參數:
Sh代碼
java TestOpt -i 89 -b -s TestString
那麼就會設置幾個prarameter的值
Java代碼
public class TestOpt {
public static void main(String[] args) {
/*
* 這里先取默認值,因為不是所有參數都會被用戶提供
*/
boolean prarameter1 = false;
int prarameter2 = 0;
String prarameter3 = "";
/*
* 設置一個offset變數,用來定位相關信息
*/
int optSetting = 0;
for (; optSetting < args.length; optSetting++) {
if ("-b".equals(args[optSetting])) {
prarameter1 = true;
} else if ("-i".equals(args[optSetting])) {
prarameter2 = Integer.parseInt(args[++optSetting]);
} else if ("-s".equals(args[optSetting])) {
prarameter3 = args[++optSetting];
}
}
/*
* 這里我只是列印出來相關的設置信息,具體的行為肯定是要自己取定義打
*/
System.out.println(prarameter1);
System.out.println(prarameter2);
System.out.println(prarameter3);
}
}
這種類似的方法估計應該有很多吧,但這個應該算是比較輕量級的。當然若參數非常多(同時也得進行驗證輸入)

⑧ Java 的命令行 編譯和運行參數 如:-cp 怎麼理解

javac

用法:javac <選項> <源文件>
其中,可能的選項包括:
-g 生成所有調試信息
-g:none 不生成任何調試信息
-g:{lines,vars,source} 只生成某些調試信息
-nowarn 不生成任何警告
-verbose 輸出有關編譯器正在執行的操作的消息
-deprecation 輸出使用已過時的 API 的源位置
-classpath <路徑> 指定查找用戶類文件的位置
-cp <路徑> 指定查找用戶類文件的位置
-sourcepath <路徑> 指定查找輸入源文件的位置
-bootclasspath <路徑> 覆蓋引導類文件的位置
-extdirs <目錄> 覆蓋安裝的擴展目錄的位置
-endorseddirs <目錄> 覆蓋簽名的標准路徑的位置
-d <目錄> 指定存放生成的類文件的位置
使用-d參數,如類中定義了包,則編譯時會自動生成包, 如:javac -d . helloworld.java
表示在當前目錄下編譯Helloworld 類。.表示當前目錄,如helloword中定義有包,則在當前目錄下生成包:

-encoding <編碼> 指定源文件使用的字元編碼
-source <版本> 提供與指定版本的源兼容性
-target <版本> 生成特定 VM 版本的類文件
-version 版本信息
-help 輸出標准選項的提要
-X 輸出非標准選項的提要
-J<標志> 直接將 <標志> 傳遞給運行時系統

java

用法: java [-選項] 類 [參數...]
(執行一個類)
或者 java [-選項] -jar jar文件 [參數...]
(執行一個jar文件)
其中,可能的選項包括:
-client 選擇 "client" VM(ginger547:應該是指Virtual Machine)
-server 選擇 "server" VM
-hotspot 與 "client" VM同義 [不贊成]
默認情況的VM是client.
-cp <一個文件夾和zip/jar文件組成的類搜索路徑>
-classpath <一個文件夾和zip/jar文件組成的類搜索路徑>
一個由文件夾,JAR壓縮文件,或者ZIP壓縮文件組成的用來搜索類的列表
-D<名字>=<值>
設置一個系統屬性
-verbose[:class|gc|jni]
使詳細輸出變的可用
-version 列印產品版本然後退出
-version:<值>
只運行指定版本
-showversion 列印產品版本後繼續
-jre-restrict-search | -jre-no-restrict-search
在版本搜索的時候,包含/排除用戶私人的JRE
-? -help 列印幫助信息
-X 列印非標准選項幫助
-ea[:<包名>...|:<類名>]
-enableassertions[:<包名>...|:<類名>]
使斷言可用
-da[:<包名>...|:<類名>]
-disableassertions[:<包名>...|:<類名>]
是斷言不可用
-esa | -enablesystemassertions
使系統級斷言可用
-dsa | -disablesystemassertions
使系統級斷言不可用
-agentlib:<庫名>[=<選項>]
載入本地代理庫<庫名>,例如. -agentlib:hprof
同時可查看, -agentlib:jdwp=help和 -agentlib:hprof=help
-agentpath:<路徑名>[=<選項>]
通過全路徑名來載入本地代理庫
-javaagent:<jar路徑>[=<選項>]
載入Java編程語言代理,可查看 java.lang.instrument

閱讀全文

與java命令參數相關的資料

熱點內容
線程javalock 瀏覽:892
c語言編譯運行結果查看器 瀏覽:110
androidpx轉dip 瀏覽:841
西藏編譯局是什麼級別 瀏覽:999
php提交代碼 瀏覽:597
如何用命令查找並刪除代碼塊 瀏覽:582
python初學路線圖 瀏覽:534
matlab遺傳演算法旅行商問題 瀏覽:304
將辦公軟體加入加密軟體的進程 瀏覽:724
聯想小新pro14編譯器 瀏覽:462
為什麼伺服器要關掉icmp協議 瀏覽:855
源碼編輯器如何設置難度 瀏覽:357
給pdf加目錄 瀏覽:476
加密軟體怎麼改安全問題 瀏覽:552
cmd命令ip 瀏覽:946
python輸出單引號雙引號 瀏覽:272
腳本編程管理命令 瀏覽:379
小愛音箱pro怎麼自己裝app 瀏覽:118
建立ftp文件夾命令 瀏覽:572
sha1withrsa演算法 瀏覽:455