java 二维数组如何赋值
初始化时直接赋值
可以在声明二维数组的同时进行赋值,使用花括号 {} 嵌套表示每一行的元素。

int[][] arr = {
{1, 2, 3}, // 第一行
{4, 5, 6}, // 第二行
{7, 8, 9} // 第三行
};
动态逐行赋值
先声明二维数组的大小,再通过循环或逐元素赋值。

int[][] arr = new int[3][3]; // 3行3列的数组
arr[0][0] = 1; // 第一行第一列赋值为1
arr[0][1] = 2; // 第一行第二列赋值为2
使用循环批量赋值
通过嵌套循环为二维数组填充数据,适合规律性赋值(如矩阵、表格数据)。
int[][] arr = new int[3][3];
for (int i = 0; i < arr.length; i++) { // 遍历行
for (int j = 0; j < arr[i].length; j++) { // 遍历列
arr[i][j] = i + j; // 赋值示例:元素值为行号+列号
}
}
不规则二维数组赋值
Java支持每行长度不同的二维数组(不规则数组),需逐行初始化。
int[][] arr = new int[3][]; // 仅声明行数
arr[0] = new int[]{1, 2}; // 第一行2个元素
arr[1] = new int[]{3, 4, 5}; // 第二行3个元素
arr[2] = new int[]{6}; // 第三行1个元素
注意事项
- 未显式赋值的元素会默认初始化为
0(数值类型)、false(布尔类型)或null(引用类型)。 - 直接赋值时需确保每行的列数一致,否则会编译错误。
- 动态赋值需注意数组索引越界问题(如
arr[3][0]对new int[3][3]会抛出ArrayIndexOutOfBoundsException)。






