我的问题如下,我注意到有时在下面的代码中你需要使用<有时它的< =。
count < numbers.length
count <= numbers.length
我们只使用&lt; = if它是length()???
答案 0 :(得分:5)
<
允许计数达到numbers.length - 1
(包含)
<=
允许它升至numbers.length
(再次,包含)
通常在迭代数组等时,如果要从0(即< a.length
)和for (i=0 ....)
进行迭代(如果从1开始)({{1},则使用<= a.length
}})。
任何选择都可以,只要你在整个程序中保持一致。请注意,从for (i=1 ...)
开始到0
通常是优先考虑的做法。
答案 1 :(得分:2)
假设您有一个数组arr
,并且您希望对每个数字进行一些操作。
数组中包含n
个元素。这意味着第一个索引(在java和大多数编程语言中)将是0
和最后n-1
。
要获得arr
的每一个元素,就会像这样写出循环:
for(int i = 0; i < n; < i++ ) {
arr[i]; // do something with it
}
所以你基本上算了:0th element, 1st element ... n-1th
元素。
您也可以编写相同的循环:
for(int i = 1; i<=n; i++ ) {
arr[i-1]; // remember java indexing from 0 ?
}
然后你算上更像人类的人:1st element, 2nd, 3rd ... n-th
。
在两个循环中,迭代次数恰好是n,因此它们在功能上的行为方式相同,但在计算机科学中,从0开始索引很自然,原因很多,所以前者是最好的方法。