5.2 遍历数组

遍历是指对整个数据集合的每个元素,都访问一次,并且只访问一次。 例如这是一个数组的遍历:
int a[]=new int[10];
for(int i=0;i < 10;i++)
    a[i]=i;
整个数组的元素一共有10个:a[0],a[1],a[2],…,a[7],a[8],a[9]。 上面的循环通过下标i的变化(从0变到9),把整个数组遍历了一遍,按下标从小到大的顺序访问数组的元素(a[0],a[1]这样依次访问),并赋值给元素——赋的值是该元素的下标。循环后的结果:a[0]=0,a[1]=1,a[2]=2…a[9]=9。
接下来,我们打印一下整个数组。如果你直接这样写:System.out.println(a)那么你可以看到将打印一个很奇怪的数值而不是10个数字。要打印整个数组,必须使用循环:
for(int i=0;i < 10;i++)
    System.out.println(a[i]);
这个循环跟上面的类似,遍历整个数组,然后依次打印。 并且这里要注意一个地方,就是循环条件:i<=9,如果这里没有写好,就很容易造成a[i]的下标越界。例如写成i<=10,那么就会访问到a[10]这个元素,而这个元素不存在,产生越界。
遍历数组可以通过下标来完成,至于下标从小到大,还是从大到小,那就看具体情况和编程的习惯了。我们要掌握如何控制整个遍历的过程。将来我们还会学习到用迭代器来遍历一个集合。
上面遍历的例子,都是已知数组的长度,假如并不能在运行之前就知道数组的长度,该怎么办呢?那么就要使用数组的length属性
int a[]=new int[10];
for(int i=0;i < a.length;i++)
    a[i]=i;
上面的代码使用了a.length代替了之前的10,这种写法更通用,就算不知道a数组的长度,也可以遍历数组。例如打印数组每一个元素:
int[]c={5,7,8,45,4,7,4,95,478,4,1,2,16,15,58,59,54,54,32};
for(int i=0;i < c.length;i++){
    System.out.println("c["+i+"]:"+c[i]);
}
如果上面的c的数组个数,要手动去数的话,那就没有操作性了。有些时候必须使用length。