在我们刚学习完java的循环和一些基础的输入输出语句后,我们在一开始用循环输出一个数组时通常采用以下方法:
String[] poets={"两只黄鹂鸣翠柳","一行白鹭上青天","窗含西岭千秋雪","门泊东吴万里船"};
System.out.println("使用for循环输出数组中的元素");
for(int i=0;i<poets.length;i++){
System.out.println(poets[i]);
}
在此基础上,我们可以更深一步的学习使用一种增强型的for循环,使用for-each来遍历输出数组:
在遍历数组时,for-each更简单快捷。
for-each的语法:
for(元素类型 元素变量:遍历对象){
代码块
}
System.out.println("使用for-each循环输出数组中的 元素");
String[] poets={"两只黄鹂鸣翠柳","一行白鹭上青天","窗含西岭千秋雪","门泊东吴万里船"};
for(String poet:poets){
System.out.println(poet);
}
}
}
输出结果如下:
使用for循环输出数组中的元素
两只黄鹂鸣翠柳
一行白鹭上青天
窗含西岭千秋雪
门泊东吴万里船
使用for-each循环输出数组中的 元素
两只黄鹂鸣翠柳
一行白鹭上青天
窗含西岭千秋雪
门泊东吴万里船
我们知道数组的输出时经常要注意是否会产生越界;这个功能一般是通过数组的长度-1来确定的;但是for-each 省掉了这个过程;同时也绕过了这个麻烦,for-each只会对数组进行遍历,其中的元素变量只是一个承接数据的中间值。
我们输出二维数组时一般会采用下面的方法:
int[][] arr={{1,2,3},{4,5,6},{7,8,9}};
for(int i=0;i<3;i++ ){
for(int j=0;j<3;j++){
System.out.print(arr[i][j]);
}
}
我们接下来看看增强型for循环在二维数组中的使用:
int[][] arr={{1,2,3},{4,5,6},{7,8,9}};
for(int[] row:arr)
{
for(int element:row)
{
System.out.println(element);
}
}
可以看见,在二维数组中,数组的长度就不容易用简单的arr.length-1来预防数组越界了,而增强型for循环就绕过了这个过程。
但是,无论在哪一种方法中都要注意保证数据类型的一致性,必须满足数组的定义。
最后,for-each只是用来遍历数组,这个过程中会忽略下标,所以如果单独输出某些数组还是需要设定条件使用for循环限定循环次数
达到想要的目的。