关于args的一个小bug

我在开始学习Java的时候就有点疑惑,到底main方法中的args到底是什么?经过我的一些思考,然后结合代码写一点自己的看法。

下面来看一段代码:

/**
 * @author 薛定谔的猫
 * 关于args一些小看法*/
public class Main {
	public static void main(String[] args) {
		System.out.println(args[0]);
		System.out.println(args[1]);
	}
}

  这是结果:出现了数组越界异常

       Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0    at Main.main(Main.java:6)

分析:至于为什么在main方法中写String[] args,这可能就是Java的一种规范,我们不必深究。

   那发生了数组越界,到底是为什么的?如果直接运行程序,代表并没有任何参数传入args数组,也就是说args数组是一个空数组,直接调用标准输出流方法就会           发生异常。

解决方法:

    方法一:命令行方式

        假如程序是Main.java  在编译之后,在命令行运行程序输入命令:java Main  zpoor   love   此时args[0]就是zpoor ,args[1]就是love。

    方法二:IDE在eclipse中实现  如图

      

      

    结果:

      

      

反思:在学习的时候,代码量是关键,但是最好要深入研究,不要钻牛角尖,写代码不是抄代码,多思考思考。

原文地址:https://www.cnblogs.com/zpoor/p/7545832.html