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

 更新时间:2021年02月20日 16:27:43   作者:JLUnanfeiyan  
这篇文章主要介绍了解决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)

如图:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Java超详细讲解多态的调用

    Java超详细讲解多态的调用

    多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定
    2022-05-05
  • SpringBoot项目开发中常用的依赖

    SpringBoot项目开发中常用的依赖

    这篇文章主要介绍了SpringBoot项目开发中常用的依赖详解,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • 使用redisTemplate从redis获取所有数据

    使用redisTemplate从redis获取所有数据

    这篇文章主要介绍了使用redisTemplate从redis获取所有数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • IDEA中Javaweb项目图片加载不出来解决方案

    IDEA中Javaweb项目图片加载不出来解决方案

    在IDEA中能够正常的预览到图片,但是在生成项目的war包时,项目的目录结构却会发生变化,所以无法访问图片,本文主要介绍了IDEA中Javaweb项目图片加载不出来解决方案,感兴趣的可以了解一下
    2023-10-10
  • Spring Boot集成ShedLock分布式定时任务的实现示例

    Spring Boot集成ShedLock分布式定时任务的实现示例

    ShedLock确保您计划的任务最多同时执行一次。如果一个任务正在一个节点上执行,则它会获得一个锁,该锁将阻止从另一个节点(或线程)执行同一任务。
    2021-05-05
  • SpringBoot 插件化开发模式详细总结

    SpringBoot 插件化开发模式详细总结

    插件化开发模式正在很多编程语言或技术框架中得以广泛的应用实践,大大提升了系统的扩展性和伸缩性,也拓展了系统整体的使用价值,那么为什么要使用插件呢,本文就详细介绍SpringBoot 插件化开发模式,感兴趣的同学可以参考下
    2023-06-06
  • java多线程返回值使用示例(callable与futuretask)

    java多线程返回值使用示例(callable与futuretask)

    这篇文章主要介绍了多线程返回值使用示例(callable与futuretask),需要的朋友可以参考下
    2014-04-04
  • java短信验证码登录功能设计与实现

    java短信验证码登录功能设计与实现

    现在不管是各类的网站,还是大小社交app,登录方式是越来越多了,但是大部分还是以短信登录为主,本文主要介绍了java短信验证码登录功能设计与实现,感兴趣的可以了解一下
    2021-11-11
  • SpringCloud turbine监控实现过程解析

    SpringCloud turbine监控实现过程解析

    这篇文章主要介绍了SpringCloud turbine监控实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • AQS(AbstractQueuedSynchronizer)抽象队列同步器及工作原理解析

    AQS(AbstractQueuedSynchronizer)抽象队列同步器及工作原理解析

    AQS是用来构建锁或者其他同步器组件的重量级基础框架及整个JUC体系的基石,通过内置的FIFO对列来完成资源获取线程的排队工作,并通过一个int类型变量表示持有锁的状态,本文给大家详细介绍下AQS抽象队列同步器的相关知识,感兴趣的朋友一起看看吧
    2022-03-03

最新评论