您的当前位置:首页正文

解决javamain函数中的args数组传值问题

来源:华佗健康网
解决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)如图:

以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。

因篇幅问题不能全部显示,请点此查看更多更全内容