• 关于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中实现  如图

          

          

        结果:

          

          

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

  • 相关阅读:
    Ubuntu下Geary安装
    (1)html初步--表格的使用
    MYSQL笔记
    三,springboot集成mybatis
    一台服务部署多个tomcat注意事项
    Apache和Tomcat整合(一个Apache 不同域名处理多个不同业务)
    linux 安装 apache
    linux笔记
    关联查询一张小表。对性能有影响吗(mysql)
    关于mysql的临时表并行的问题
  • 原文地址:https://www.cnblogs.com/zpoor/p/7545832.html
Copyright © 2020-2023  润新知