黑马程序员技术交流社区

标题: Java中的【foreach】循环 [打印本页]

作者: 格子伞    时间: 2015-10-24 22:31
标题: Java中的【foreach】循环
本帖最后由 格子伞 于 2015-10-24 22:32 编辑

据百度:foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。 因为前几天是课程中,老师都没有讲到,所以自己结合百度,写点关于foreach的东西。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本(说白了,foreach不学也没关系。。。)。
不过要注意,foreach并不是一个关键字,只是外国人习惯将这种特殊的for语句格式称之为“foreach”语句。它的语句格式为:

  1. for(元素类型 元素变量x : 遍历对象){
  2.      引用了x的java语句;
  3. }
复制代码


一、foreach简化数组和集合的遍历
下面通过例子简单例子看看foreach是如何简化编程的。代码如下:

  1. public class Foreach {
  2. public static void main(String[] args) {
  3. int[] arr1 = {12,34,56,78,21};
  4. int[][] arr2 = {{1,2,3},{4,5},{6,7,8,9}};
  5.   
  6.   //Traversal arr1:
  7.   for (int e : arr1) {
  8.    System.out.print(e+"  ");
  9.   }
  10.   System.out.println();
  11.   
  12.   //Tranversal arr2:
  13.   for (int[] e : arr2) {
  14.    for (int f : e) {
  15.     System.out.print(f+"  ");
  16.    }
  17.    System.out.println();
  18.   }
  19. }
  20. }
复制代码
运行结果:


可见,用foreach可以极好简化数组的遍历编程。当然,并不只是可以用来遍历1维和2维数组,多维也一样,和for一样。
二、foreach语句的局限性
如果要引用数组的索引,则foreach语句无法做到,foreach仅仅老老实实地遍历数组或者集合一遍。
可能也是因为这个原因,才不讲foreach语句的吧。
当然,这只是了解内容,大家没事看个乐吧。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2