Java千問:Java語言如何給main方法傳遞參數(shù)?-創(chuàng)新互聯(lián)
大家都知道,Java語言運(yùn)行程序的入口方法叫做main,這個(gè)方法有一個(gè)參數(shù),這就表示說,我們要運(yùn)行主方法,就必須給main方法傳遞一個(gè)參數(shù)。但是,大家似乎對(duì)這個(gè)參數(shù)向來都是視而不見,從來都沒給主方法傳遞過參數(shù)。main作為Java程序運(yùn)行的第一個(gè)方法,我們應(yīng)該從哪里給這個(gè)方法傳遞參數(shù)呢?今天我們就用一篇短文來聊聊這個(gè)話題。
如何給main方法傳遞參數(shù)
大家請(qǐng)看下面這段代碼
這是一段誰都能看懂的代碼。通過代碼我們可以看到,main方法的參數(shù)是一個(gè)字符串?dāng)?shù)組,既然是一個(gè)字符串?dāng)?shù)組,就會(huì)包含多個(gè)字符串。那么,我們通過怎樣的方法能把多個(gè)字符串?dāng)?shù)組傳遞給main方法呢?很簡(jiǎn)單,我們?cè)谶\(yùn)行Java程序的時(shí)候,在java命令后面寫上main方法所在的類名,在類名后面加空格,空格后面再寫上多個(gè)字符串,每個(gè)字符串之間也以空格隔開,就能把這些字符串傳遞給main方法。當(dāng)然,這些字符串會(huì)被組織成一個(gè)字符串?dāng)?shù)組傳遞到main方法當(dāng)中,見下圖
我們可以看到,在類名A的后面是一個(gè)空格,空格后面有兩個(gè)字符串,分別是“Hello”和“World”
這兩個(gè)字符串之間也用空格隔開,它們就是程序員傳遞給main方法的參數(shù),這兩個(gè)字符串會(huì)被虛擬機(jī)組織成一個(gè)字符串?dāng)?shù)組。main方法中打印參數(shù)數(shù)組中下標(biāo)為0那個(gè)的元素,所以輸出結(jié)果就是“Hello”
參數(shù)字符串中包含空格如何處理
我們給main方法傳遞參數(shù)的時(shí)候,各個(gè)字符串之間是以空格隔開的,如果某個(gè)字符串中本身就包含空格,那么原本是一個(gè)整體的字符串就會(huì)被分割成兩個(gè),此事如何是好?在這種情況下,我們?yōu)榱俗尠崭竦淖址惶摂M機(jī)當(dāng)作是一個(gè)整體,可以給字符串的兩端加上引號(hào),見下圖
這一次我們給main方法傳遞了兩個(gè)字符串作為參數(shù),其中第一個(gè)參數(shù)是“Hello World”,這個(gè)字符串中有一個(gè)空格,但是我們?cè)谧址畠啥思恿艘?hào),虛擬機(jī)就會(huì)把引號(hào)當(dāng)中的空格看作是字符串中的一個(gè)普通字符,而不是把它當(dāng)作分隔字符串的分隔符,所以運(yùn)行結(jié)果就是“Hello World”。
參數(shù)字符串中包含引號(hào)如何處理
為了讓包含空格的字符串被虛擬機(jī)當(dāng)作整體看待,我們把這個(gè)字符串的兩端加上了空格,但是這又會(huì)引發(fā)一個(gè)問題,那就是:如果參數(shù)字符串中又包含引號(hào)該怎么辦呢?此時(shí)我們就需要用轉(zhuǎn)義字符的形式書寫參數(shù)字符串中的引號(hào),見下圖
把字符串中的引號(hào)以轉(zhuǎn)義字符的形式書寫,就能正確的把包含引號(hào)的字符串當(dāng)作參數(shù)傳遞給main方法。
未傳遞參數(shù)的情況下打印參數(shù)數(shù)組元素情況如何
如果我們沒有給main方法傳遞參數(shù),就直接打印參數(shù)數(shù)組args當(dāng)中的元素,會(huì)怎么樣?很多人認(rèn)為此時(shí)程序運(yùn)行會(huì)拋出空指針異常。其實(shí)不然,虛擬機(jī)會(huì)創(chuàng)建一個(gè)長(zhǎng)度為0的字符串?dāng)?shù)組傳遞到main方法中,我們?cè)L問這個(gè)長(zhǎng)度為0的數(shù)組,拋出的是數(shù)組越界異常,而非空指針異常。不要忘記,Java語言的數(shù)組長(zhǎng)度是允許為0的哦!
如果希望系統(tǒng)學(xué)習(xí)Java編程,可以點(diǎn)擊這里觀看我的視頻課程,有問題也可以加入我的QQ群291839907一起討論
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
本文標(biāo)題:Java千問:Java語言如何給main方法傳遞參數(shù)?-創(chuàng)新互聯(lián)
文章起源:http://www.xueling.net.cn/article/idcgi.html