我在开始学习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中实现 如图
结果:
反思:在学习的时候,代码量是关键,但是最好要深入研究,不要钻牛角尖,写代码不是抄代码,多思考思考。