這幾天面試中有遇到關于main數組中的args數組傳值的問題,一般是從命令提示符中傳值,也可以直接在java代碼中賦值。
而且這個數組的長度是動態的,根據傳值的個數確定數組的長度。
1.從命令提示符中傳值
我在桌面新建了一個文本文檔重命名為testmain.java,代碼如下
1
2
3
4
5
6
|
public class testmain { public static void main(string[] args) { system.out.println( "hello " +args[ 0 ]); system.out.println( "welcome " +args[ 1 ]); } } |
按住shift在桌面單擊鼠標右鍵,在此處運行命令提示符
輸入命令javac testmain.java編譯成功后,在運行java testmain aa bb cc dd
截圖如下
此時如果輸出args.length長度應該為4
2.直接在java代碼中賦值,eclipse中代碼如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//測試java中main函數args數組的使用 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 ]); } } |
輸出結果是
1
2
3
|
3 abc |
補充:java中string [] args中的args是什么意思
string args[] 與 string[] args 沒有區別,都可以執行,但推薦使用 string[] args,這樣可以避免歧義和誤讀。
java 中args一般存在main主類方法內,string args[ ]或者string[ ] args表示給主方法傳一個字符串數組. 而args是一個字符串數組的變量名,不是關鍵字,是arguments的縮寫,只是一個默認名,一般都習慣性照寫.
如下:
1. 可以從run config里面設置參數
如下圖:
2. 拿到這個args設置的剛才的參數“20 30”,打印出來:
3. 如果不設置參數直接輸出args[0]會報錯
exception in thread "main" java.lang.arrayindexoutofboundsexception: 0
at args參數問題.argstest.main(argstest.java:8)
如圖:
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。如有錯誤或未考慮完全的地方,望不吝賜教。
原文鏈接:https://blog.csdn.net/qq_24877569/article/details/51931337