- 此问题在此处已有答案**:
(17个答案)
what does it mean arrays.length -1 in java?(2个答案)
How do you determine the legal index range for an array?(1个答案)
5年前关闭。
社区在3天前审查了是否重新讨论此问题,并将其关闭:
原始关闭原因未解决
class Zillion {
private int zilly[];
public Zillion(int size){
zilly = new int[size];
}
public void increment(){
int i=zilly.length -1;
while(i>=0){
if(zilly[i]!=9){
zilly[i]+=1;
i=-1;
}
else{
zilly[i]=0;
i--;
}
}
}
我刚刚得到了一个基本的java代码,不知道(int i=zilly.length -1;)
这部分的长度-1是什么意思。有人能解释一下吗?
7条答案
按热度按时间hts6caw31#
数组的大小是数组中元素的个数,但是数组的第一个索引是0。例如:
在本例中:
zilly.size
返回:4但是
zilly[4]
不存在,因为第一个元素的索引为0zilly.[zilly.size - 1]
返回最后一个元素(4)。希望有帮助。
xn1cxnb42#
nameOfTable.lenght
返回Arrays
的第一个索引从0 ==〉(1st - 1 = 0)
开始的元素的编号,因此最后一个索引是n - 1
mdfafbf13#
int i=zilly.length -1;
是数组的最后一个索引,因为数组从索引0
开始。顺便说一句,这段代码的格式需要改进,以更好地描述它在做什么,例如,让你感到困惑的那一行。
int i = zilly.length - 1;
只需将语句正确地隔开,就可以使语句更容易理解。lfapxunr4#
zilly.length -1
定义自身。数组总长度(大小)-1。由于数组的第一个索引从
0
开始,因此最后一项位于位置n-1
,其中n
是数组的大小。hmae6n7t5#
在Java中,数组的索引从0开始,因此数组的最后一个元素由
zilly[zilly.length - 1]
访问。如果你尝试这样访问它:你会得到一个越界异常
代码中的while循环从最后一个索引开始,向下迭代第一个元素。
j9per5c46#
zilly.length
给出数组的长度,即其中元素的数量。zilly.length-1
给出数组的最后一个索引,因为数组的计数从0开始。所以基本上你是按照降序迭代的,也就是从数组的最后一个元素到数组的第一个元素。
o7jaxewo7#
这意味着我们想要得到数组的最后一个索引,然后我们从数组的末尾到开头循环。
zilly.length
是数组大小-但数组的索引从0开始,所以最后一个索引是zilly.length-1