java 二维数组如何赋值
初始化时直接赋值
在声明二维数组的同时可以直接使用花括号嵌套的方式赋值。例如:

int[][] arr = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
动态创建后逐个赋值
先声明二维数组的大小,再通过双重循环或直接索引赋值:

int rows = 3;
int cols = 4;
int[][] arr = new int[rows][cols];
// 双重循环赋值
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = i * cols + j + 1;
}
}
// 直接索引赋值
arr[1][2] = 100;
不规则数组的赋值
Java支持每行长度不同的不规则数组:
int[][] arr = new int[3][];
arr[0] = new int[]{1, 2};
arr[1] = new int[]{3, 4, 5};
arr[2] = new int[]{6};
使用Arrays.fill批量赋值
对于一维子数组可以使用Arrays.fill方法:
import java.util.Arrays;
int[][] arr = new int[3][4];
for (int[] row : arr) {
Arrays.fill(row, 0); // 将所有元素赋值为0
}
注意事项
- 静态初始化时内层花括号数量必须与外层数组的行数一致
- 动态初始化时需先分配行空间(如
new int[3][]),再为每行分配列空间 - 访问元素时需确保索引不越界(行索引和列索引均有效)






