Menu
CoddyTech

访问二维数组元素

本课属于 Coddy Java 学习旅程的“逻辑与流程”单元。第 2 课,共 59 课。

访问二维数组中的元素与访问一维数组中的元素类似,但你需要使用两个索引,而不是一个索引:一个用于行,另一个用于列。请记住,Java 中的索引从 0 开始,所以第一行的索引是 0,第二行的索引是 1,以此类推。同样,第一列的索引是 0,第二列的索引是 1,依此类推。

要访问一个元素,先指定行索引,再指定列索引,使用以下语法:

arrayName[rowIndex][columnIndex]

例如,要访问名为 matrix 的二维数组中第二行(索引 1)和第三列(索引 2)的元素,你可以这样写:

int element = matrix[1][2];

这会将第 1 行、第 2 列元素的值赋给变量 element。

获取二维数组的维度:

和一维数组一样,你可以使用 .length 获取二维数组的维度:

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6}
};
int numRows = matrix.length;        // 获取行数:2
int numCols = matrix[0].length;     // 获取列数:3
  • matrix.length 返回行数
  • matrix[0].length 返回第一行的列数

检查边界:

访问元素之前,最好先检查索引是否有效:

if (rowIndex >= 0 && rowIndex < matrix.length && 
    colIndex >= 0 && colIndex < matrix[0].length) {
    // 可以安全地访问 matrix[rowIndex][colIndex]
}
challenge icon

挑战

简单

创建一个名为 getElement 的方法,它接收三个参数:

  1. 一个名为 matrix 的二维整数数组。
  2. 一个表示行索引的整数 rowIndex。
  3. 一个表示列索引的整数 colIndex。

该方法应返回 matrix 中指定行和列的元素。如果 rowIndex 或 colIndex 越界(即小于 0,或大于或等于行数或列数),该方法应返回 -1。

亲手试试

// 只在类内部编写代码。不要编写 main(),也不要在类外编写任何代码。
class GetElement {
    public static int getElement(int[][] matrix, int rowIndex, int colIndex) {
        // 在这里编写代码
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Java 在线编译器