数组只能线性存储同一种类型的数据。
1. 一维数组
1.1. 声明方式
注意Java中声明时是没有分配内存的,所以不需要指定大小,在new的时候才指定。
1 2
| int arr1[]; int[] arr2;
|
1.2. 初始化
数组一旦初始化,其长度是不可变的。
1 2 3 4 5 6 7 8
| int[] arr1 = new int[3]; arr1[0] = 1; arr1[1] = 2; arr1[2] = 3;
int[] arr2 = new int[]{1, 2, 3}; int[] arr3 = {1, 2, 3};
|
- 数组元素的引用:下标索引如
arr[2]
,与 C/C++ 相同。
- 每个数组有一个属性 length 表示其长度。
1.3. 一维数组遍历
1 2 3 4 5 6 7 8 9 10
|
for(int i=0;i<d.length;i++) { System.out.println(d[i]); }
for(int e : d) { System.out.println(e); }
|
2. 多维数组
2.1. 声明方式
1 2 3
| int[][] arr1; int arr2[][]; int[] arr3[];
|
2.2. 初始化
1 2 3 4 5 6 7 8 9 10 11
| int[][] arr1 = new int[2][3];
int[][] arr2 = new int[][] {{1,2,3}, {2,7}, {4,5,6}};
int b[][]; b = new int[3][]; b[0]=new int[3]; b[1]=new int[4]; b[2]=new int[5];
|
2.3. 多维数组遍历
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| for(int i=0;i<a.length;i++) { for(int j=0;j<a[i].length;j++) { a[i][j] = ++k; } }
for(int[] items : a) { for(int item : items) { System.out.print(item + ", "); } System.out.println(); }
|