一、二维数组的定义
type arrayName[ ][ ];
type[ ][ ] arrayName;
二、二维数组的初始化
1.静态初始化
int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};
2.动态初始化
1) 直接为每一维分配空间,格式如下:
int a[ ][ ] = new int[2][3];
2) 从最高维开始,分别为每一维分配空间:
int a[ ][ ] = new int[2][ ];
a[0] = new int[3];
a[1] = new int[5];
“声明”和“分配空间”是不同的,声明的时候可以不分配空间,new的时候需要分配空间。所以 int a[ ][ ] = new int[2][ ];是可以编译通过的,因为对于“数组的数组”而言,这里只是有了一个声明。
对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。而且,必须为每个数组元素单独分配空间。例如:
String s[ ][ ] = new String[2][ ];
s[0]= new String[2];//为最高维分配引用空间
s[1]= new String[2]; //为最高维分配引用空间
s[0][0]= new String("Good");// 为每个数组元素单独分配空间
s[0][1]= new String("Luck");// 为每个数组元素单独分配空间
s[1][0]= new String("to");// 为每个数组元素单独分配空间
s[1][1]= new String("You");// 为每个数组元素单独分配空间
三、二维数组元素的引用
对二维数组中的每个元素,引用方式为:
arrayName[index1][index2]
例如:
num[1][0];