二维数组
如果数组元素又是数组,则称为多维数组,常用的是二维数组。
二维数组可以看成由两个一维数组组成,所以很多东西与一维数组类似,如其声明的方法、可进行的运算等等。
1、声明二维数组
数组类型数组名【】【】;
用[][]表示二维数组。
例:int a[][];
a=new int[4][5];//用new关键申请存储空间
上两行可以合并成一行:
int a=new int[4][5];
2、赋初值
声明时可以赋初值,将值和多层花括号括起来,如:
int a[][]={{1,2,3},{4,5,6}}
3、下标
二维数组常被用在行列式中,每个元素用2个下标表示,如:a[i][j]为第i行第j列。
行、列均从0开始,同样要注意均不能越界。
例:以下代码实现二维数组的输入与输出。
public class Test {
public static void main(String args[]){
int a[][]=new int[3][4];
int i,j;
//输入
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++) {
a[i][j] = i + j;
}
}
//输出
for(i=0;i<a.length;i++){
for(j=0;j<a[i].length;j++) {
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}
其运行结果如下:
5、比较奇特的是,java中的二维数组不一定是规则的。
如下例:
public class Test {
public static void main(String args[]){
int a[][]=new int[3][];
a[0]=new int[]{1};//第0行1个数据元素
a[1]=new int[]{2,3};//第1行2个数据元素
a[2]=new int[]{4,5,6};//第2行3个数据元素
for(int i=0;i<a.length;i++) {
for (int j = 0; j < a[i].length; j++)
System.out.print(a[i][j] + " ");
System.out.println();
}
}
}
其运行结果为: