Java里数组的三种初始化方式

    1. 静态初始化

      除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。

      // 静态初始化
      int[] iStaticArr = { 5, 2, 0 };
      LOLHero[] staticHeros = new Hero[] {
              new LOLHero("艾希","女"),
              new LOLHero("盖伦","男"),
              new LOLHero("挖掘机","未知")
      };
      
    2. 动态初始化

      数组定义与为数组元素分配空间并赋值的操作分开进行。

      //动态初始化
      int[] iDynamicArr = new int[3];
      iDynamicArr[0] = 5;
      iDynamicArr[1] = 2;
      iDynamicArr[2] = 0;
      
      LOLHero[] dynamicHeros = new LOLHero[3];
      dynamicHeros[0] = new LOLHero("艾希","女");
      dynamicHeros[1] = new LOLHero("盖伦","男");
      dynamicHeros[2] = new LOLHero("机器人","未知");
      
    3. 数组的默认初始化

      数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化(即使不给赋初值,也会被程序赋予默认值)。

      //默认初始化
      int[] iDefaultArr = new int[3]; //数组中的每个元素被赋予默认值0, 0, 0
      LOLHero[] defaultHeros = new LOLHero[3]; //数组中每个元素被赋予默认值null, null, null
      

      其中布尔类型的变量的默认值为false
      个人觉得,还是静态初始化省事,不过有时候确实需要动态初始化,有时候也不用初始化,所以看情况而定吧。

posted on 2019-04-14 10:57  行之间  阅读(1204)  评论(0编辑  收藏  举报