解決java main函數(shù)中的args數(shù)組傳值問(wèn)題
這幾天面試中有遇到關(guān)于main數(shù)組中的args數(shù)組傳值的問(wèn)題,一般是從命令提示符中傳值,也可以直接在java代碼中賦值。
而且這個(gè)數(shù)組的長(zhǎng)度是動(dòng)態(tài)的,根據(jù)傳值的個(gè)數(shù)確定數(shù)組的長(zhǎng)度。
1.從命令提示符中傳值
我在桌面新建了一個(gè)文本文檔重命名為T(mén)estMain.java,代碼如下
public class TestMain {
public static void main(String[] args) {
System.out.println("hello "+args[0]);
System.out.println("welcome "+args[1]);
}
}
按住shift在桌面單擊鼠標(biāo)右鍵,在此處運(yùn)行命令提示符
輸入命令javac TestMain.java編譯成功后,在運(yùn)行java TestMain aa bb cc dd
截圖如下

此時(shí)如果輸出args.length長(zhǎng)度應(yīng)該為4
2.直接在java代碼中賦值,eclipse中代碼如下
//測(cè)試java中main函數(shù)args數(shù)組的使用
public class TestMainArgs {
/**
* @param args
*/
public static void main(String[] args) {
args = new String[]{"abc","def","ghi"};
System.out.println(args.length);
System.out.println(args[0]);
}
}
輸出結(jié)果是
3 abc
補(bǔ)充:Java中String [] args中的args是什么意思
String args[] 與 String[] args 沒(méi)有區(qū)別,都可以執(zhí)行,但推薦使用 String[] args,這樣可以避免歧義和誤讀。
Java 中args一般存在main主類(lèi)方法內(nèi),String args[ ]或者String[ ] args表示給主方法傳一個(gè)字符串?dāng)?shù)組. 而args是一個(gè)字符串?dāng)?shù)組的變量名,不是關(guān)鍵字,是arguments的縮寫(xiě),只是一個(gè)默認(rèn)名,一般都習(xí)慣性照寫(xiě).
如下:
1. 可以從run config里面設(shè)置參數(shù)
如下圖:


2. 拿到這個(gè)args設(shè)置的剛才的參數(shù)“20 30”,打印出來(lái):

3. 如果不設(shè)置參數(shù)直接輸出args[0]會(huì)報(bào)錯(cuò)
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at args參數(shù)問(wèn)題.ArgsTest.main(ArgsTest.java:8)
如圖:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
SpringBoot中使用JdbcTemplate訪(fǎng)問(wèn)Oracle數(shù)據(jù)庫(kù)的案例詳解
JdbcTemplate是Spring框架中的一個(gè)核心類(lèi),用于簡(jiǎn)化Java應(yīng)用程序與關(guān)系型數(shù)據(jù)庫(kù)的交互操作,本文給大家介紹SpringBoot中使用JdbcTemplate訪(fǎng)問(wèn)Oracle數(shù)據(jù)庫(kù)的方法,感興趣的朋友跟隨小編一起看看吧2023-10-10
springMVC返回復(fù)雜的json格式數(shù)據(jù)方法
下面小編就為大家分享一篇springMVC返回復(fù)雜的json格式數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
springboot整合minio實(shí)現(xiàn)文件存儲(chǔ)功能
MinIO?是一個(gè)基于Apache?License?v2.0開(kāi)源協(xié)議的對(duì)象存儲(chǔ)服務(wù),它兼容亞馬遜S3云存儲(chǔ)服務(wù)接口,非常適合于存儲(chǔ)大容量非結(jié)構(gòu)化的數(shù)據(jù),本文給大家介紹了springboot整合minio實(shí)現(xiàn)文件存儲(chǔ)功能,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
JAVA熔斷和降級(jí)真實(shí)關(guān)系的圖文詳解
這篇文章主要介紹了Java熔斷和降級(jí)的關(guān)系,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
Spring事務(wù)失效之常見(jiàn)場(chǎng)景分析
這篇文章主要介紹了Spring事務(wù)失效之常見(jiàn)場(chǎng)景,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Java關(guān)鍵字final、static使用總結(jié)
final方法不能被子類(lèi)的方法覆蓋,但可以被繼承。用static修飾的代碼塊表示靜態(tài)代碼塊,當(dāng)Java虛擬機(jī)(JVM)加載類(lèi)時(shí),就會(huì)執(zhí)行該代碼塊,下面通過(guò)本文給大家分享Java關(guān)鍵字final、static使用總結(jié),感興趣的朋友一起看看吧2017-07-07

