关于main方法中的args的参数

时间:2021-03-10 21:26:13
  面试又遇到了一个难题,如下 1.public class Test {  
2.  
3.    public static void main(String[] args) {  
4.        System.err.println(args.length);  
5.    }  

  很显然,这是在考main函数中的参数args数组的问题。

  以前,老师也讲过这个参数args,就是main函数中固定的,必须要传的字符串数组。还有就是args里面可以存从控制台输入的内容。但是当时也是似懂非懂。果然似懂非懂等于不懂啊!今天碰到这一题,瞬间懵逼。于是我赶紧翻翻笔记,又去网上查了查。终于解决了。

  首先,args这个参数是main方法中固定的,必须要写,不写即使编译通过,运行也会报错。

  其次,args这个String类型的数组是用于在命令行中传入数据的。如果你不写,它默认的长度是0。至于长度的控制是你自己在控制台输入的字符串决定的 

我自己编写的测试代码如下

public class Test{
public static void main(String[] args){
String str = args[0];
System.out.println(str);
}
}
定义一个字符串str让它等于args[0]。然后将其打印出来。

注意;这里的str是在命令行运行类文件时

传入的(当时学的时候就记笔记了),这里你想传几个就传几个,字符串之间用空格隔开。下图就是

传参的过程。

关于main方法中的args的参数






我这里传了两个参数,那么args[0]对应的就是1 注意:一旦你用到了args数组中某个角标上的值,就必须要传参不能不传否则会角标越界。如下图 关于main方法中的args的参数