登录
首页 >  文章 >  java教程

Java数组如何通过下标访问及索引规则

时间:2026-04-15 21:28:30 199浏览 收藏

Java数组的下标访问看似简单,却暗藏关键细节:必须严格使用0到length-1的非负整数索引,越界即抛出ArrayIndexOutOfBoundsException;获取长度用`arr.length`而非`arr.length()`,切勿与String的`length()`混淆;多维数组需按层级逐个下标访问;更需警惕的是——所有越界检查仅在运行时发生,编译器不会预警,因此循环遍历、用户输入或动态计算索引时,务必手动校验边界,否则一个疏忽就可能让程序在关键时刻崩溃。

在Java里如何通过下标访问数组_Java数组索引规则说明

Java中通过下标(即索引)访问数组,必须使用 非负整数,且范围严格限定在 0数组长度 - 1 之间。越界会直接抛出 ArrayIndexOutOfBoundsException

下标从0开始是硬性规则

Java沿用C语言传统,数组第一个元素的下标固定为 0,最后一个为 length - 1。不存在“第1个元素下标是1”的情况。

  • int[] arr = {10, 20, 30};arr[0]10arr[2]30
  • arr[-1]arr[3] 都会立即报错

获取数组长度用 .length,不是 .length()

数组是对象但不是集合类,没有 length() 方法;它的长度是 public final 成员变量,名为 length,不带括号。

  • ✅ 正确:int len = arr.length;
  • ❌ 错误:arr.length();(编译不通过)
  • ⚠️ 注意:String 类才有 length() 方法,别和数组混淆

多维数组按层级用多个下标

二维及以上数组本质是“数组的数组”,每个维度单独用一对方括号,顺序对应维度层级。

  • int[][] matrix = {{1,2}, {3,4}};
  • matrix[0][1] 表示第0行、第1列 → 值为 2
  • matrix[1][0]3matrix[2][0] 越界报错

运行时检查无法绕过,需主动防御

Java不在编译期检查下标是否越界,所有越界问题只在运行时暴露。因此涉及用户输入、循环变量或计算索引时,务必手动校验。

  • 循环推荐写法:for (int i = 0; i
  • 接收外部索引时先判断:if (index >= 0 && index
  • 避免依赖“不会越界”的假设,尤其是处理字符串 charAt()substring() 时逻辑类似

不复杂但容易忽略——下标合法性完全靠程序员自己把关,JVM只负责在出错时精准报错。

到这里,我们也就讲完了《Java数组如何通过下标访问及索引规则》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>