You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何该代码能获取数组最后一个元素?array.length-1为何取4而非3?

Java数组获取最后一个元素的原理详解

先看你给出的代码:

int [] array = new int []{1,2,3,4};  
int last = array[array.length-1]; 

核心逻辑:数组是0基索引

Java里的数组采用0开始计数的索引规则,简单说就是第一个元素的位置不是1,而是0:

  • 元素1对应索引0
  • 元素2对应索引1
  • 元素3对应索引2
  • 元素4对应索引3

为什么array.length-1能定位到最后一个元素?

  • array.length是数组的元素总数,这里数组有4个元素,所以array.length的值是4。
  • 用元素总数减1,得到的就是数组的最大有效索引:4-1=3,这个索引正好对应最后一个元素4。

为什么拿到的是4而非3?

数组的索引范围是从0到length-1,如果用array.length(也就是4)去访问数组会直接报错——因为数组根本没有索引4的位置。而索引3对应的是第四个元素4,索引2才对应第三个元素3,所以array.length-1指向的是最后一个元素,而非倒数第二个。

内容的提问来源于stack exchange,提问作者Kirill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 23:05:32