解決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單例模式與線程安全問(wèn)題踩的坑
這篇文章主要介紹了使用springboot單例模式與線程安全問(wèn)題踩的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
如何修改覆蓋spring boot默認(rèn)日志策略logback詳解
這篇文章主要給大家介紹了關(guān)于如何修改覆蓋spring boot默認(rèn)日志策略logback的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10
在SpringBoot中配置Thymeleaf的模板路徑方式
這篇文章主要介紹了在SpringBoot中配置Thymeleaf的模板路徑方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
Java創(chuàng)建型設(shè)計(jì)模式之抽象工廠模式(Abstract?Factory)
當(dāng)系統(tǒng)所提供的工廠所需生產(chǎn)的具體產(chǎn)品并不是一個(gè)簡(jiǎn)單的對(duì)象,而是多個(gè)位于不同產(chǎn)品等級(jí)結(jié)構(gòu)中屬于不同類(lèi)型的具體產(chǎn)品時(shí)需要使用抽象工廠模式,抽象工廠模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態(tài)2022-09-09
Java中java.lang.ClassCastException異常原因及解決方法
大家好,本篇文章主要講的是Java中java.lang.ClassCastException異常原因及解決方法,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-01-01
java異常和錯(cuò)誤類(lèi)總結(jié)(必看篇)
下面小編就為大家?guī)?lái)一篇java異常和錯(cuò)誤類(lèi)總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
SpringBoot+WebMagic+MyBaties實(shí)現(xiàn)爬蟲(chóng)和數(shù)據(jù)入庫(kù)的示例
WebMagic是一個(gè)開(kāi)源爬蟲(chóng)框架,本項(xiàng)目通過(guò)在SpringBoot項(xiàng)目中使用WebMagic去抓取數(shù)據(jù),最后使用MyBatis將數(shù)據(jù)入庫(kù)。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10

