**
数组的下标为什么从0开始
**
(**不得不说的话:**这大概是我见到的在刚接触Java阶段的最简单易懂的解释了,当然随着我们学习的深入,这个问题其实还会有更细致更专业的解释。)
为什么数组的下标是从0开始,而不是从1开始呢?从1开始不是更符合人们的习惯么。
int[] a=new int{1,2,3,4,5};
这里有5个值,首先我们假设数组在内存中开辟的5个地址号为1000,1001,1002,1003,1004,假设是为了方便计算。
此刻我们访问a[0],也就是访问到地址号1000,
想想看,1000就是数组的第一个地址,也就是代表着数组的第一个值1,1000+0等于1000,如果按照逻辑下标也从1开始不就是1000+1=1001访问到第二个地址2咯?
这个就是数组从0开始的原因,因为a引用的就是数组中的第一个地址号了,从0开始是访问的1个地址。
作者:盗墓者是个丑奴儿
来源:CSDN
原文:https://blog.csdn.net/Java_Dmz/article/details/77711489