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

Posted 行之间

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java里数组的三种初始化方式相关的知识,希望对你有一定的参考价值。

    1. 静态初始化

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

      // 静态初始化
      int[] iArr = { 5, 2, 0 };
      Hero[] heros = new Hero[] {
              new Hero("艾希","女"),
              new Hero("盖伦","男"),
              new Hero("挖掘机","未知")
      };
      
    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[] iArr = new int[3]; //数组中的每个元素被赋予默认值0, 0, 0
      LOLHero[] heros = new LOLHero[3]; //数组中每个元素被赋予默认值null, null, null
      

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

以上是关于Java里数组的三种初始化方式的主要内容,如果未能解决你的问题,请参考以下文章

JAVA学习笔记-数组的三种初始化方式

java中关于对象初始化的问题

Java中一维和二维数组的定义方式

Java中一维和二维数组的定义方式

Java数组集合的三种遍历方式(包懂)

groovy 定义数组方法