二维数组其实是一个特殊的一维数组,下面详解二维数组从定义到如何使用。
什么是二维数组
二维数组本质上是以数组作为数组元素的数组,即数组的数组。
二维数组就是一个有行和列的矩阵,二维数组又称为矩阵,每一行代表一个数组,即数组的数组,每一行数组内元素所在的位置可以用行和列号来表示。
行列数相等的矩阵称为方阵,对称矩阵a[i][j] = a[j][i]。
Java二维数组定义
两种初始化形式:
格式1: 动态初始化
数据类型 数组名 [ ][ ] = new 数据类型[m][n] 数据类型 [ ][ ] 数组名 = new 数据类型[m][n] 数据类型 [ ] 数组名 [ ] = new 数据类型[m][n]
举例:
int [ ][ ] arr=new int [5][3];
可以理解为“5行3例”。
格式2: 静态初始化
数据类型 [ ][ ] 数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};
举例:
int [ ][ ] arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},};
Java二维数组使用
1.声明二维数组
import java.util.Arrays; public class Test06{ public static void main(String[] args){ //声明一个规则的二维数组,3行4列 int[][] arr = new int[3][4]; arr[0][0]=10; arr[0][1]=10; arr[0][2]=10; arr[0][3]=10; arr[1][0]=10; arr[1][1]=10; arr[1][2]=10; arr[1][3]=10; arr[2][0]=10; arr[2][1]=10; arr[2][2]=10; arr[2][3]=10; System.out.println(Arrays.toString(arr)); } }
此时,二维数组已经分配好空间,同时一维也分配好空间。
2.获取单个元素
语法如下:
arrayName[i-1][j-1];
其中,arrayName 表示数组名称,i 表示数组的行数,j 表示数组的列数。
3.二维数组遍历
public static void main(String[] args) { //静态初始化 int[][] a={{1,2,3,4},{4,5,6,7},{8,9,10,11}}; //遍历 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(); } }
二维数组是行列结构,使用双层for循环,外层for用于控制行,内层for用于控制列=>行列结构 => 双层for遍历。
mikechen睿哥
mikechen睿哥,十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》