fore-each操作数组


在我们刚学习完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循环限定循环次数

达到想要的目的。




猜你喜欢

转载自blog.csdn.net/b13001216978/article/details/78139156