一维数组
- 基本类型的数组每个元素都是一个基本类型的变量
- 引用类型数组的每个元素都是一个对象的引用
声明
Type[] name;
Type name[]; //注意,这里方括号的书写只是习惯问题,左右有无空格都可
- 不指明个数
- 不分配空间
- 不能直接使用
创建
arrName = new Type[number];
- 指定数组元素类型
- 指定数组元素个数
- 元素个数可以为常量或变量(此处的变量必须已经初始化或者有值了)
- 声明和创建可以一同进行
Type[] name = new Type[number];
初始化
可以在声明的时候进行不可以在声明后创建的环节进行
引用
- 通过下标引用
- 下标必须为int(32bit),short(16bit),byte(8bit),char(16bit)
- 数组的长度:name.length【要注意这不是个函数】
- 下标超过限度:ArrayIndexOutOfBoundsException
输出数组元素的一个好方法:
int x[] = {1, 2, 3, 4};
for (int i : x) {
System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */
}
多维数组
int [][]array; //array变量存储的是一个指向二维整数数组的引用
int array[][];
int []array[];
- array.length记录的是包含的一维数组的个数
- 可以一层层的创建
int [][]array; //依旧不可以有数字
array = new int[3][];
array[0] = new int[3]; //1
array[1] = {2, 4, 5}; //2
int []x = {2, 2, 2, 2};
array[2] = x; //3
要注意的是第三种是一种浅拷贝,即若x数组变化则array中的值也跟着变化,若array中的值变相应的x中的也变