java如何给二维数组赋值
静态初始化
直接在声明时赋值,使用花括号嵌套:
int[][] arr = {{1, 2}, {3, 4}, {5, 6}}; // 3行2列的二维数组
String[][] strs = {{"A", "B"}, {"C", "D"}}; // 2行2列的字符串数组
动态初始化(指定行列数)
先声明数组大小,再通过循环逐元素赋值:
int rows = 3, cols = 2;
int[][] arr = new int[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
arr[i][j] = i + j; // 示例赋值逻辑
}
}
动态初始化(不规则数组)
可为每行单独分配不同长度的列:
int[][] arr = new int[3][]; // 仅定义行数
arr[0] = new int[]{1, 2}; // 第0行2列
arr[1] = new int[]{3}; // 第1行1列
arr[2] = new int[]{4, 5, 6};// 第2行3列
使用Arrays.fill批量赋值
适用于统一初始值场景:
int[][] arr = new int[3][4];
for (int[] row : arr) {
Arrays.fill(row, 1); // 所有元素赋值为1
}
注意事项
- 静态初始化适用于已知固定值的场景,代码更简洁。
- 动态初始化适合需要运行时计算赋值的场景,灵活性更高。
- 不规则数组需确保每行的列数在使用前已正确分配,避免
NullPointerException。







