Java千問:Java語言如何給main方法傳遞參數?

大家都知道,Java語言運行程序的入口方法叫做main,這個方法有一個參數,這就表示說,我們要運行主方法,就必須給main方法傳遞一個參數。但是,大家似乎對這個參數向來都是視而不見,從來都沒給主方法傳遞過參數。main作爲Java程序運行的第一個方法,我們應該從哪裏給這個方法傳遞參數呢?今天我們就用一篇短文來聊聊這個話題。

如何給main方法傳遞參數

大家請看下面這段代碼Java千問:Java語言如何給main方法傳遞參數?
這是一段誰都能看懂的代碼。通過代碼我們可以看到,main方法的參數是一個字符串數組,既然是一個字符串數組,就會包含多個字符串。那麼,我們通過怎樣的方法能把多個字符串數組傳遞給main方法呢?很簡單,我們在運行Java程序的時候,在java命令後面寫上main方法所在的類名,在類名後面加空格,空格後面再寫上多個字符串,每個字符串之間也以空格隔開,就能把這些字符串傳遞給main方法。當然,這些字符串會被組織成一個字符串數組傳遞到main方法當中,見下圖Java千問:Java語言如何給main方法傳遞參數?
我們可以看到,在類名A的後面是一個空格,空格後面有兩個字符串,分別是“Hello”和“World”
這兩個字符串之間也用空格隔開,它們就是程序員傳遞給main方法的參數,這兩個字符串會被虛擬機組織成一個字符串數組。main方法中打印參數數組中下標爲0那個的元素,所以輸出結果就是“Hello”

參數字符串中包含空格如何處理

我們給main方法傳遞參數的時候,各個字符串之間是以空格隔開的,如果某個字符串中本身就包含空格,那麼原本是一個整體的字符串就會被分割成兩個,此事如何是好?在這種情況下,我們爲了讓包含空格的字符串被虛擬機當作是一個整體,可以給字符串的兩端加上引號,見下圖Java千問:Java語言如何給main方法傳遞參數?
這一次我們給main方法傳遞了兩個字符串作爲參數,其中第一個參數是“Hello World”,這個字符串中有一個空格,但是我們在字符串兩端加了引號,虛擬機就會把引號當中的空格看作是字符串中的一個普通字符,而不是把它當作分隔字符串的分隔符,所以運行結果就是“Hello World”。

參數字符串中包含引號如何處理

爲了讓包含空格的字符串被虛擬機當作整體看待,我們把這個字符串的兩端加上了空格,但是這又會引發一個問題,那就是:如果參數字符串中又包含引號該怎麼辦呢?此時我們就需要用轉義字符的形式書寫參數字符串中的引號,見下圖Java千問:Java語言如何給main方法傳遞參數?
把字符串中的引號以轉義字符的形式書寫,就能正確的把包含引號的字符串當作參數傳遞給main方法。

未傳遞參數的情況下打印參數數組元素情況如何

如果我們沒有給main方法傳遞參數,就直接打印參數數組args當中的元素,會怎麼樣?很多人認爲此時程序運行會拋出空指針異常。其實不然,虛擬機會創建一個長度爲0的字符串數組傳遞到main方法中,我們訪問這個長度爲0的數組,拋出的是數組越界異常,而非空指針異常。不要忘記,Java語言的數組長度是允許爲0的哦!Java千問:Java語言如何給main方法傳遞參數?
如果希望系統學習Java編程,可以點擊這裏觀看我的視頻課程,有問題也可以加入我的QQ羣291839907一起討論

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章