二维数组创建
定义数组
声明二维数组
Java中二维数组的声明格式:
数据类型名[ ][ ] 数组名; 或 数据类型名 数组名[ ][ ];
分配数组内存
常用格式:
new 数组名[ M][N ] ; //M,N为数组行号和列号
分配数组内存
1)规则二维数组:可以直接为每行元素分配空间。
double[][] b; 
b=new double[2][3]; 
double a[][]=new double[2][3];
2)不规则二维数组:通常从首行开始,分别为每一行元素分配空间。
int a[ ][ ]=new int[3][]; 
a[0]= new int[2]; 
a[1]= new int[3]; 
a[2]= new int[4]; 
Student s[ ][ ] = new Student[2][ ]; 
s[0]= new Student [1];
 s[1]= new Student [2]; 
s[0][0]= new Student();
数组元素引用
二维数组元素的引用格式为:
数组名[元素行下标] [元素列下标]
注意,对于一个M行N列的二维数组来说,其任何元素的行下标都只能在[0,M-1]的范围内取值,列下标只能在[0,N-1]范围内取值。
比如:
        定义规则二维数组 
         int a[][]=new int[2][3];
         则其元素的引用:    a[0][0]  //ok       a[0][3]  //error
                                        a[0][2]  //ok       a[2][3]  //error
  
数组初始化
二维数组初始化的时候,可以把每一行数据用一对{}括起,不同行数据间用逗号隔开。此时一个二维数组是否规则,完全依赖于其初始化数据的状况。
int intArray_1[ ][ ]={{1,2},{2,3},{3,4}}; 
//定义了一个3行2列的规则二维数组,共有6个元素
int intArray_2[ ][ ]={{1,2},{2,3},{3,4,5}}; //定义了一个3行的不规
则二维数组,第一行2个元素,第二行2个元素,第三行3个元素,共7个元素
二维数组遍历
对于二维数组的遍历,是指访问一个二维数组中的每一个元素。
由于二维数组的数据排列具有行列关系,所以二维数组的长度(即length属性)实质上是指其包含的行数,而每一行的长度实质上是指该行数据包含的列数,访问格式如下:
数组名.length
数组名[行下标].length
通过访问数组长度和行长度,可以方便的遍历一个二维数组。
利用二重for循环访问数组长度和行长度,可以方便的遍历一个二维数组:
  
    int arr[][] = { { 1 }, { 2, 3 }, { 4, 5, 6 } };
    for (int x = 0; x < arr.length; x++) {
	for (int y = 0; y < arr[x].length; y++)
                          System.out.print(arr[x][y] + "、");
                System.out.println("");		
     }
案例:
矩阵的转置,即将二维数组行列元素互换位置,形成一个新的二维数组存到另一个数组中
 
 



















