二维数组
如果把一维数组当成几何中的线性图形,那么二维数组就相当于表格。
要使用二维数组,必须经过声明和分配内存两个步骤。
二维数组的声明
格式:
数据类型 数组名[ ][ ]; 或 数据类型[ ][ ] 数组名;
例: int arr[ ][ ];<==>int[ ][ ] arr;
声明数组类型变量:运行时系统只为变量在栈(zhàn)内存中分配空间,但不会为数组元素分配空间,因此不能使用任何数组元素
声明数组类型变量时不允许指定数组长度 例:
int arr[1][2]; 或 double str[2][3];
二维数组的内存分配
格式:
数组名=new 数据类型[行个数][列个数];
例: score=new int[6][3];
注意:在java中可将数组的声明和内存分配合为一体,格式如下
数据类型 数组名[][]=new 数据类型[行个数][列个数];
int score[ ][ ]=new intscore[6][3]; <==> int score[ ][ ]; score=new int[6][3];
二维数组的初始化
通常有三种形式:
第一种 :
数据类型 数组名[ ][ ]={{第0行初始},{第一行初始},....{第N行初始}};
例如这个3行4列的数组: int score[ ][ ]={{26,65,32,77},{15,45,65,23},{87,79,78,45}};
第二种:
数据类型 a [ ][ ]=new int[指定行个数][指定列个数];
a[0][0]=常量初始值1; a[0][1]=常量初始值2;.....;
例如: double[ ][ ]=new double[3][4];
a[0][0]=3; a[0][1]=5;.....;
第三种:
例如: int[ ][ ] a2=new int[4][]; //四行长度
for(int i=0;i<a2.length;i++){
a1[i]=new int[i+1] //列的长度每次+1,
for(int j=0;j<a2[i].length;j++)
a2[i][j]=i+j;
}
二维数组的引用
引用数组元素的格式:
数组名[元素行下标][元素列下标]
a[0][0]=20;
a[0][1]=30;
使用二维数组 数组名.length可获得二维数组的行数;
使用 数组名[i].length属性可获得二维数组的列数。