所谓二维数组,可以简单理解为是一种特殊的一维数组,他的每个数组空间中保存的是一个一维数组。
那么如何使用二维数组呢,步骤如下:
1.声明数组并分配空间
数据类型 [] [] 数组名 = new 数据类型 [ 行的个数 ] [ 列的个数 ] ;
或者
数据类型 [] [] 数组名;
数组名 = new 数据类型 [ 行的个数 ] [ 列的个数 ] ;
如:
//定义一个两行三列的二维数组
int[] [] nums = new int[2] [3];
2.赋值
二维数组的赋值,和一维数组类似,可以通过下标来逐个赋值,注意索引从 0 开始
数组名 [ 行的索引 ] [ 列的索引 ] =值 ;
也可以在声明数组的同时为其赋值
数据类型 [] [] 数组名 = {{值1,值2},{值11,值22}....{值21,值22} };
如:
//给第一行第一列的元素赋值
num [ 0 ] [ 0 ] = 12;
3.处理数组
二维数组的访问和输出同一维数组一样,实质多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。如:
// 定义一个两行三列的二维数组并赋值
int [] [] num = {{1,2,3},{4,5,6}} ;
//定位行
for (int i=0;i<num.length;i++){
//定位每行的元素
for(int j=0;j<num[i].length;j++){
//依次输出每个元素
system.out.println(num[ i ] [ j ]);
}
//实现换行
system.out.println();
}
运行结果:
123
456
需要了解的:在定义二维数组时也可以指定行的个数,然后再为每一行分别指定列的个数。如果每行的列数不同,则创建的是不规则的二维数组,如下图所示:
int [] [] num = new int [ 3 ] [] ;// 定义一个三行的二维数组
num [ 0 ] =new int [ 2 ];
num [ 1 ] = new int [ 3 ];
num [ 2 ] = new int [ 4 ];
num [ 0 ] [ 0 ] =1;
num [ 1 ] [ 1 ] = 2;
num [ 2 ] [ 3 ] =3;
system.out.println(num[ 0 ] [ 0 ] );
system.out.println(num[ 1 ] [ 1 ]);
system.out.println(num [ 2 ][ 3 ]);
运行结果:
1
2
3