20 数组之数组的初始化

在上一章,我们探讨了如何定义数组。定义数组只是第一步,接下来我们将学习如何对数组进行初始化,特别是“数组的数组”——即二维数组的初始化。通过阅读本节,您将能够掌握如何创建和初始化二维数组,从而更好地处理复杂的数据结构。

什么是二维数组?

在 Java 中,二维数组可以被看作是一个数组的数组。它是一个表格,每个元素都是一个一维数组。我们可以将二维数组想象成一张表格,其中行和列的交叉点就是元素。

创建和初始化二维数组

二维数组的声明与一维数组类似,但它有两个维度。一个简单的二维数组的声明方式如下:

1
int[][] array;

然而,这只是在内存中声明了一个二维数组的引用,并没有分配内存来存储数组元素。我们可以通过以下几种方法对二维数组进行初始化。

1. 静态初始化

静态初始化是在声明数组的同时赋值。这种方法适合于知道数组元素个数和具体值的情况下。

1
2
3
4
5
int[][] array = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};

在上面的代码中,我们创建了一个 3×3 的整数二维数组,每个元素都有了初始值。

2. 动态初始化

动态初始化允许在运行时指定数组的大小,而具体的元素值可以在后续的代码中赋值。

1
int[][] array = new int[3][3];

接下来,我们可以使用嵌套的 for 循环给数组中的每个元素赋值:

1
2
3
4
5
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
array[i][j] = i * 3 + j + 1; // 按行赋值
}
}

3. 非规则数组

值得注意的是,Java 允许创建“非规则”的二维数组,也称为“锯齿状数组”。即每一行可以有不同数量的列。

1
2
3
4
5
6
7
8
9
10
11
12
int[][] array = new int[3][];
array[0] = new int[2]; // 第一行 2 列
array[1] = new int[3]; // 第二行 3 列
array[2] = new int[1]; // 第三行 1 列

// 赋值
array[0][0] = 1;
array[0][1] = 2;
array[1][0] = 3;
array[1][1] = 4;
array[1][2] = 5;
array[2][0] = 6;

访问二维数组元素

初始化完成后,您可以通过行列索引访问和修改数组元素:

1
2
3
4
5
// 访问元素
int value = array[1][2]; // 访问第二行第三列的元素,即值 5

// 修改元素
array[2][0] = 10; // 将第三行第一列的值更改为 10

总结

在本章节中,我们详细讨论了二维数组的初始化方法,包括静态初始化、动态初始化和非规则数组的创建。了解这些基本概念之后,您就可以开始在 Java 中处理更复杂的数据结构,为下一章的内容做好准备。

在下一章中,我们将深入探讨二维数组的常见操作,包括遍历、查找和其他有用的操作。希望您能继续跟随我们的教程,进一步丰富您的 Java 知识!

20 数组之数组的初始化

https://zglg.work/java-zero/20/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论