java中的foreach循环

穿精又带淫゛_ 提交于 2019-12-09 06:23:09

前言:关于java中的foreach循环我在学习hadoop中使用javaAPI中经常用到,一开始并不了解,以前我们学校老师没有告诉我们,也没有遇到,后来不断的使用才渐渐了解。


一、介绍:

foreach语句是java1.5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。

foreach的语句格式:
        for(元素类型t 元素变量x : 遍历对象obj){
      引用了x的java语句;
       }

二、代码实例:

   package com.stu.demo;

import java.io.File;

/**
 * 
 * @author 小炜 @version1.0 File类的使用
 * 
 */
public class Test03 {

	public static void main(String[] args) {

// File file = new File("f:\\c.txt");
// 
// System.out.println(file.exists());
// System.out.println(file);

//通过目录获取当前文件所有的文件和目录
		File file2 = new File("c:\\");
		File[] files = file2.listFiles();
		for (File f : files) {

			System.out.println(f);

		}

	}

}

三、总结如下:

  1、 for循环

for循环,通过下标,对循环中的代码反复执行,功能强大,在处理比较复杂的处理的时候较为方便。

  2、 foreach循环

foreach,从头到尾,对于集合中的对象遍历。适用于简单的遍历。foreach使用的时候,会锁定集合的对象,期间不能进行修改。

  3、 使用的选择:

foreach相对于for循环,代码减少了,但是foreach依赖IEnumerable(IEnumerable是一个接口,它定义一个方法GetEnumerator,它返回一个IEnumerator接口,这允许只读访问一个集合,然后实现IEnumerable的集合可以与for-each语句一起使用)。在运行的时候效率低于for循环。当然了,在处理不确定循环次数的循环,或者循环次数需要计算的情况下,使用foreach比较方便。而且foreach的代码经过编译系统的代码优化后,和for循环的循环类似。
可以说,foreach语句是for语句的特殊简化版本,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。在复杂的循环设计时,还是应该使用for循环更加的灵活。

  • 如果只是遍历集合或者数组,用foreach好些,快些。

  • 如果对集合中的值进行修改,确定循环次数就要用for循环了。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!