解决java main函数中的args数组传值问题
这几天面试中有遇到关于main数组中的args数组传值的问题,一般是从命令提示符中传值,也可以直接在java代码中赋值。
而且这个数组的长度是动态的,根据传值的个数确定数组的长度。
1.从命令提示符中传值
我在桌面新建了一个文本文档重命名为TestMain.java,代码如下
publicclassTestMain{ publicstaticvoidmain(String[]args){ System.out.println("hello"+args[0]); System.out.println("welcome"+args[1]); } }
按住shift在桌面单击鼠标右键,在此处运行命令提示符
输入命令javacTestMain.java编译成功后,在运行javaTestMainaabbccdd
截图如下
此时如果输出args.length长度应该为4
2.直接在java代码中赋值,eclipse中代码如下
//测试java中main函数args数组的使用 publicclassTestMainArgs{ /** *@paramargs */ publicstaticvoidmain(String[]args){ args=newString[]{"abc","def","ghi"}; System.out.println(args.length); System.out.println(args[0]); } }
输出结果是
3 abc
补充:Java中String[]args中的args是什么意思
Stringargs[]与String[]args没有区别,都可以执行,但推荐使用String[]args,这样可以避免歧义和误读。
Java中args一般存在main主类方法内,Stringargs[]或者String[]args表示给主方法传一个字符串数组.而args是一个字符串数组的变量名,不是关键字,是arguments的缩写,只是一个默认名,一般都习惯性照写.
如下:
1.可以从runconfig里面设置参数
如下图:
2.拿到这个args设置的刚才的参数“2030”,打印出来:
3.如果不设置参数直接输出args[0]会报错
Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException:0
atargs参数问题.ArgsTest.main(ArgsTest.java:8)
如图:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。