二维数组是“数组的数组”,声明如int[][] arr,可动态创建或静态初始化,支持规则与不规则结构,三维及以上类似但较少使用。

在Java中,多维数组本质上是“数组的数组”,也就是说,一个二维数组实际上是一个一维数组,其每个元素本身又是一个一维数组。这种结构可以扩展到三维甚至更高维度,但最常见的是二维数组。
二维数组的声明方式
Java中声明二维数组有多种语法形式,它们在功能上是等价的,只是写法略有不同:
- int[][] arr; — 推荐写法,清晰表达“arr是一个二维整型数组”
- int[] arr[]; — 合法,但可读性稍差,混合了C语言风格
- int arr[][]; — 也合法,但不推荐,容易误解为“数组的数组”结构不明显
以上三种方式都只是声明了一个数组引用,并未分配内存空间。
二维数组的创建与初始化
声明之后需要使用 new 关键字来创建数组实例,或直接进行初始化。
立即学习“Java免费学习笔记(深入)”;
动态创建:
int[][] matrix = new int[3][4]; // 创建3行4列的二维数组,所有元素默认为0也可以创建“不规则数组”(每行长度不同):
int[][] jagged = new int[3][];jagged[0] = new int[2];
jagged[1] = new int[5];
jagged[2] = new int[3];
静态初始化: 在声明时直接赋值:
int[][] scores = {{90, 85, 88},
{78, 92, 87},
{95, 90}
};
这种方式更直观,适合已知数据内容的情况,且天然支持不规则结构。
三维及更高维数组
三维数组可以理解为“数组的数组的数组”。声明和初始化方式类似二维:
int[][][] cube = new int[2][3][4]; // 创建2×3×4的三维数组或使用静态初始化:
int[][][] data = {{{1,2}, {3,4}},
{{5,6}, {7,8}}
};
虽然Java支持高维数组,但在实际开发中较少使用,通常会被封装成类或使用集合替代以提高可读性和灵活性。
基本上就这些。掌握二维数组的声明和初始化方式,就能灵活处理大多数场景。关键是理解“数组的数组”这一核心概念。










