黑马程序员技术交流社区

标题: foreach和for [打印本页]

作者: SilenceSea    时间: 2011-11-7 20:46
标题: foreach和for
foreach和for使用的时候有什么区别呢?
作者: 宁超    时间: 2011-11-7 21:14
foreach的对象必须实现Iterator 接口,遍历集合所有元素的话用foreach更加简洁,for功能是跟强大些,支持index取元素。

作者: 庄承荣    时间: 2011-11-7 21:25
for 其实是一个循环语句, 按照一定的条件对某个变量进行迭代, 实现循环或枚举每个可能的值。当一个集合对象(包括数据)支持使用索引访问内部的数据时, 用for可以遍历出每个数据(实际上是使用索引循环访问每个数据)。
foreach 则是遍历专用的一个关键字, 要求对象实现了 IEnumerable 接口(即可遍历), 通过访问它的GetEnumerator()返回迭代器, 通过它来逐个遍历数据。 foreach其实是一种语法器, 就是说编译器在编译的时候会将其转换为对应的程序语句,
作者: 史晓霞    时间: 2011-11-7 23:08
foreach不是javas中的,是C#中的,它的作用应该和for区别不是太大,java里有我们使用普遍for,和jdk1.5的高级for循环,而标签里有个<c:foreach>我想你不会说的这个吧
作者: 绿影    时间: 2011-11-8 01:27
3L的同学说的已经非常完整了,但是我想补充一点:foreach语句跟Iterator迭代器一样仅能对所遍历的集合等对象遍历,不可以取其进行操作。而for循环可以做到这一点。




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