访问二维数组元素
本课属于 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; // 获取列数:3matrix.length返回行数matrix[0].length返回第一行的列数
检查边界:
访问元素之前,最好先检查索引是否有效:
if (rowIndex >= 0 && rowIndex < matrix.length &&
colIndex >= 0 && colIndex < matrix[0].length) {
// 可以安全地访问 matrix[rowIndex][colIndex]
}挑战
简单创建一个名为 getElement 的方法,它接收三个参数:
- 一个名为
matrix的二维整数数组。 - 一个表示行索引的整数
rowIndex。 - 一个表示列索引的整数
colIndex。
该方法应返回 matrix 中指定行和列的元素。如果 rowIndex 或 colIndex 越界(即小于 0,或大于或等于行数或列数),该方法应返回 -1。
亲手试试
// 只在类内部编写代码。不要编写 main(),也不要在类外编写任何代码。
class GetElement {
public static int getElement(int[][] matrix, int rowIndex, int colIndex) {
// 在这里编写代码
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Java 在线编译器