二维数组简单概述:Java中的二维数组一般应用在矩阵的一些运算、棋盘游戏中棋盘的实现、二维数据的处理、图表的绘制、数据库的存储等方面。特别是在处理数据和表示矩阵等情况下非常有用,可以方便的存储和操作数据。
二维数组本质上是每个一维数组都包含一个或多个元素,其中每个元素都代表二维数组中的一个元素。因此,二维数组是以数组作为其元素的数组,即数组的数组。
例如:int[ ][ ] arr = new int[3][4];
这段代码创建的时候是创建了四个数组,如下图。
//方式一
int[][] arr1 = new int[3][4];
//循环遍历数组给数组赋值
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
arr1[i][j] = 5;
}
}
//打印输出一下看一下结果
System.out.println(Arrays.deepToString(arr1));
以上这段代码的输出结果:
[[5, 5, 5, 5], [5, 5, 5, 5], [5, 5, 5, 5]]
//方式二
int[][] arr2 = new int[3][];
arr2[0] = new int[2];
arr2[1] = new int[4];
for (int i = 0; i < arr2.length; i++) {
if (arr2[i] != null) {
for (int j = 0; j < arr2[i].length; j++) {
arr2[i][j] = 5;
}
}
}
System.out.println(Arrays.deepToString(arr2));
以上这段代码的输出结果:
通过new开辟空间之后,如果不赋值,该空间的值是默认值null。
[[5, 5], [5, 5, 5, 5], null]
//方式三
int[][] arr3 = new int[][] { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } };
//方式四,通用简写方式
int[][] arr4 = { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } };
声明和初始化:在声明二维数组时,需要指定行和列的数量。例如,int[][] array = new int[3][4];声明了一个3行4列的二维数组。
访问元素:可以通过array[row][col]的方式访问二维数组中的元素。行和列都是从0开始计数的。
越界:访问二维数组的元素时,需要注意不要越界。例如,访问array[3][4]将会导致数组越界异常。
初始化:在使用二维数组之前,需要先对其进行初始化。可以通过分配 初始值的方式初始化二维数组,也可以在声明时直接初始化。
内存表示:二维数组在内存中是连续存储的。每一行都是一个连续的元素序列,然后每一行的元素在内存中是连续存储的。
传递参数:当将二维数组作为函数参数传递时,需要指定列的数量。这是因为Java在传递二维数组时实际上是传递了一个指向二维数组的指针。