Java中遍历二维数组需用双重for循环,外层控行(i从0到matrix.length-1),内层控列(j从0到matrix[i].length-1),通过matrixi访问每个元素。

Java 中用多重循环处理矩阵数据,核心是用外层循环控制行、内层循环控制列,逐个访问或操作每个元素。二维数组在 Java 里本质是“数组的数组”,所以必须通过两层(或更多)循环才能覆盖全部位置。
用双重 for 循环遍历并读取矩阵
这是最基础也最常用的方式,适合打印、统计、查找等只读或轻量修改场景:
- 外层循环变量 i 遍历行索引(
matrix.length) - 内层循环变量 j 遍历当前行的列索引(
matrix[i].length) - 每个元素通过
matrix[i][j]访问
示例:打印所有元素
for (int i = 0; i for (int j = 0; j System.out.print(matrix[i][j] + " ");}
System.out.println();
}
用双重循环实现矩阵运算
加法、乘法、转置等操作都依赖嵌套循环精确控制下标关系:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
立即学习“Java免费学习笔记(深入)”;
-
矩阵加法:对应位置相加,要求行列数一致,循环中执行
c[i][j] = a[i][j] + b[i][j] - 矩阵乘法:外层 i(结果行)、中层 k(求和维度)、内层 j(结果列),三重循环更常见
-
矩阵转置:新建一个
cols × rows的数组,循环中赋值transposed[j][i] = matrix[i][j]
配合 Arrays.fill 实现高效清零
如果只需把整行设为同一值(如 0),不必写双层循环,用单层循环 + Arrays.fill() 更简洁:
- 对规则二维数组:
for (int[] row : matrix) Arrays.fill(row, 0); - 对可能含 null 行的不规则数组,需先判空:
if (row != null) Arrays.fill(row, 0); - 注意:
Arrays.fill(matrix, 0)是错的——它试图给每行引用赋值 0,编译不通过
用 continue 控制内层逻辑跳过特定元素
在处理过程中遇到某些条件(如跳过 0、跳过负数、跳过某列),可用 continue 快速进入下一次内层迭代:
-
continue只影响它所在的那一层循环,不影响外层 - 例如:跳过所有值为 5 的元素,只在内层循环中加判断即可
- 若需跳出多层,可用带标签的
break,但日常使用较少

















