Java中数组的操作分为3步:
- 定义数组变量,存放数组对象的句柄
- 创建数组对象
- 初始化数组对象中每个元素
定义数组变量:
int[] intArray;
Object[] objectArray;
这两个变量,只是定义,未初始化,他们是null
创建数组对象,并将其句柄赋值给数组变量
int[] intArray = new int[10];
//此处10,可以用变量代替。 这个数组对象创建成功,里面元素的值是0(基本类型的默认值)
Object[] objectArray = new Object[10];
//此处10,可以用变量代替。 这个数组对象创建成功,里面元素的值是null
给元素赋值
这个比较简单,循环元素,为每个元素赋值即可,要用到数组对象的属性length。
我们其实可以将这个三个步骤合并:
int[] intArray = {1,2,3};
Object[] objectArray = {new Object(), new Object(), new Object,}; //最后一个逗号可有可无
但是这种方式定义的数组长度是在编译器决定的,而不是运行期。
还可以写成下面的形式:
int[] intArray = new int[]{1,2,3};
Object[] objectArray = new Object[] {
new Object(),
new Object(),
new Object,};
java支持多维数组,定义方式如下:
//对于多维数组来说,定义时可以仅定义第一维度的具体数量,其他可不定义,初始化再进行动态定义
int[][] myArr = new int[2][];
int[][][] myArr4 = new int[2][][];
int[][][] myArr5 = new int[2][3][];
/*
* 说明以下:
* 2 是指有2个指向二维数组的元素
* 3 是指有3个指向一维数组的元素
* 4 是指长度为4的一维数组
*/
int[][][] myArr6 = new int[2][3][4];
//静态定义和初始化多维数组
int[][] myArr1 = new int[][] {{1,2},{1,2}};
int[][] myArr2 = {{1,2},{1,2}};