数组的两种初始化方式
来源
一维数组初始化
可以使用两种方式对数组进行初始化:
int[] a = {1,2,3,4,5,}; //最后一个元素的“,”可有可无
int[] a = new int[5]; //数组中5个元素默认为0
对于第二种方式,也可以指定元素的值:
int[] a = new int[]{1,2,3,4,5};
如果未指定元素的值,那么元素会存在一个默认值,数值型为0,布尔型为false,引用类型为null。因为数组也是对象,所以数组元素的默认值与类中定义的变量默认值相同。如果指定了元素的值,就不能在[]中指定数组的大小,例如不能写成:
int[] a = new int[5]{1,2,3,4,5}; //错误
第二种方式可以在声明后使用,第一种方式只能与声明同时使用,例如:
多维数组初始化
在Java中多维数组可以是不规则的(每组的元素个数可以不同),在为多维数组分配空间时,一定要从高到低维分配。因为多维数组实际上就是数组的数组,即高维数组的每个元素也是数组,如果数组(高维)还没有分配空间,便无法为数组中的元素(低维)分配空间。
例如:
int[][] a = new int[3][];
//先分配高维,不能写成int[][] a = new int[][3];
//高维数组的每个元素(即a[0],a[1],a[2])也是数组
a[0] = new int[2];
a[1] = new int[3];
定义数组初始化 a[2] = new int[4];
对于矩阵数组(每维的元素个数都相等),可以采用一种简便的分配方式:
int[][][] a = new int[3][4][5];
上面的代码分配了一个三维数组,该数组有3个元素,每个元素是一个二维数组,每个二维数组有4个元素,每个元素是一个一维数组,每个一维数组有5个元素,每个元素为int类型。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论