解决javamain函数中的args数组传值问题
这⼏天⾯试中有遇到关于main数组中的args数组传值的问题,⼀般是从命令提⽰符中传值,也可以直接在java代码中赋值。⽽且这个数组的长度是动态的,根据传值的个数确定数组的长度。
1.从命令提⽰符中传值
我在桌⾯新建了⼀个⽂本⽂档重命名为TestMain.java,代码如下
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中代码如下
//测试java中main函数args数组的使⽤public class TestMainArgs { /**
* @param args */
public static void main(String[] args) { args = new String[]{\"abc\ System.out.println(args.length); System.out.println(args[0]); } }
输出结果是
3abc
补充: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: 0at args参数问题.ArgsTest.main(ArgsTest.java:8)如图:
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。
因篇幅问题不能全部显示,请点此查看更多更全内容