A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 路飞 中级黑马   /  2015-4-20 09:53  /  1797 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

高级for循环使用时有什么局限性吗?是不是可以完全替代普通的for循环?

7 个回复

倒序浏览
你说的是foreach循环吗,  不可以取代普通的for循环 ,他只是把for循环封装了, 例如挨个给数组赋值 foreach就可能出错,foreach不适合给元素/变量赋值
回复 使用道具 举报
高级for的局限性就是必须要有被遍历的集合或者数组(需要有被遍历的目标)。传统for循环存在肯定是有它的必然性的,在某些方面高级for没有传统for灵活,比如:指定一个固定次数的输出操作。
回复 使用道具 举报 1 0
你试试用高级for循环输出一个数组的元素,你就可以理解他俩的区别和局限性了。因为老师讲高级for一笔带过,所以不太好表达。
回复 使用道具 举报
不能。高级for就是迭代的简写形式,不能对带角标的相关操作,如遍历过程中对相应角标的对象赋值。存在即为合理,如果只为取出,不作相关操作,区别不大。
回复 使用道具 举报
补充一句
public interface Iterable<T>实现这个接口允许对象成为 "foreach" 语句的目标。
回复 使用道具 举报
高级for循环是直接遍历,省去了index ,一般用于遍历。

其实迭代器的本质就是高级for循环
回复 使用道具 举报
今天也是刚刚学到高级for循环
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马