在<之间存在问题和< =

时间:2016-05-13 21:10:40

标签: java

我的问题如下,我注意到有时在下面的代码中你需要使用<有时它的< =。

count < numbers.length
count <= numbers.length  

我们只使用&lt; = if它是length()???

2 个答案:

答案 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开始索引很自然,原因很多,所以前者是最好的方法。