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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 程立彬 于 2011-11-24 08:36 编辑

请问都有哪些数据类型里面可以使用高级for循环???

评分

参与人数 1技术分 +1 收起 理由
黑马谢承强 + 1 加油

查看全部评分

5 个回复

倒序浏览
高级for循环,不是针对哪些数据类型的;比如你一个集合里面放的是人,那就可以把人遍历出来,
for(对象 对象变量名:要遍历的集合)    只要是对象,就应该可以遍历   我是这么理解的  不知道对不对

评分

参与人数 1技术分 +1 收起 理由
黑马谢承强 + 1 赞一个!

查看全部评分

回复 使用道具 举报
崔浩 黑马帝 2011-11-23 14:21:02
藤椅
给以依据提示的话:Can only iterate over an array or an instance of java.lang.Iterable
也就是说是一个数组类型的或者是必须实现java.util.Iterator的对象类型,像数组,list,set的子类对象是可以的,而 Map的集合是不行的
回复 使用道具 举报
for(初始化表达式;循环条件表达式;循环后的操作表达式)
{
        执行语句;
}
注:
a,for里面的连个表达式运行的顺序,初始化表达式只读一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

for循环的括号中有三条语句,都是可选项。
语句1:这条语句会在整个循环开始之前执行,且仅运行一次,不参与循环。
语句2:必须是一个返回boolean值的表达式,如果写了这个语句那么每次循环开始之前会判断,true则执行循环,false则不执行。没写则直接执行。
语句3:这条语句在每次循环体运行结束之后执行。





评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
冯敏 黑马帝 2011-11-23 16:38:05
报纸
高级for循环只能应用于数组或集合类
回复 使用道具 举报
集合或者数组,使用高级for循环比较合适。
举例:
int arr[] = {1, 2, 3, 4, 5};
for (int a : arr)
   System.out.println(a);
这样写看起来就非常方便,不过你要是非要使用普通for循环也可以的
这样写:
for (int i = 0; i < arr.length; i++)
   System.out.println(arr[i]);
但是看起来不如高级for循环简便吧。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马