解决java main函数中的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","def","ghi"};
System.out.println(args.length);
System.out.println(args[0]);
}
}
输出结果是
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)
如图:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
相关文章
如何修改覆盖spring boot默认日志策略logback详解
这篇文章主要给大家介绍了关于如何修改覆盖spring boot默认日志策略logback的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2018-10-10
在SpringBoot中配置Thymeleaf的模板路径方式
这篇文章主要介绍了在SpringBoot中配置Thymeleaf的模板路径方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-08-08
Java创建型设计模式之抽象工厂模式(Abstract Factory)
当系统所提供的工厂所需生产的具体产品并不是一个简单的对象,而是多个位于不同产品等级结构中属于不同类型的具体产品时需要使用抽象工厂模式,抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形态2022-09-09
Java中java.lang.ClassCastException异常原因及解决方法
大家好,本篇文章主要讲的是Java中java.lang.ClassCastException异常原因及解决方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下2022-01-01
SpringBoot+WebMagic+MyBaties实现爬虫和数据入库的示例
WebMagic是一个开源爬虫框架,本项目通过在SpringBoot项目中使用WebMagic去抓取数据,最后使用MyBatis将数据入库。具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-10-10


最新评论