java中二维数组行数为array.length,第i行列数为array[i].length(需先判空);因每行长度可不同,故无统一列数。

Java 中二维数组的行数和列数获取方式取决于你如何理解“列数”——因为二维数组本质上是“数组的数组”,每行可以有不同长度(即不规则数组),所以行数是固定的,但每行的列数可能不同。
获取二维数组的行数
二维数组本身是一个一维数组,其每个元素是另一个一维数组(即一行)。因此,行数就是该数组的长度:
- array.length —— 直接返回行数(即外层数组的长度)
例如:
int[][] matrix = {{1, 2}, {3, 4, 5}, {6}};
此时 matrix.length 等于 3(共 3 行)。
获取某一行的列数(即该行的元素个数)
要获取第 i 行的列数,需先确保该行存在且不为 null,再访问其长度:
- array[i].length —— 返回第 i 行的元素个数(即该行的“列数”)
- 务必检查 array[i] != null,否则会抛出 NullPointerException
例如:
if (matrix != null && i int cols = matrix[i].length;<br>}
对上面的 matrix: matrix[0].length → 2, matrix[1].length → 3, matrix[2].length → 1。
注意:不存在统一的“总列数”或“列数”概念
Java 二维数组不要求每行等长。如果你的场景要求规则矩阵(如数学矩阵),应自行保证所有行长度一致,并在初始化或使用前校验:
- 可通过遍历检查:matrix[i].length == matrix[0].length(i 从 1 开始)
- 若需“最大列数”或“最小列数”,需手动遍历各行计算
常见错误提醒
- 写成 array.length.length —— 编译不通过,因为 array.length 是 int,没有 length 属性
- 忽略 null 判断直接调用 array[i].length —— 运行时异常
- 误以为 array[0].length 代表整个数组的列数 —— 它仅代表第一行的长度,其他行可能不同
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











