黑马程序员技术交流社区

标题: for循环问题 [打印本页]

作者: 张耀东    时间: 2015-3-17 22:55
标题: for循环问题
for()循环括号里面能不能有引用型数据


作者: ccl|r    时间: 2015-3-17 23:06
增强for可以
例如数组   int[] arr ={1,2,3,4,5,6};
                for(int x : arr)
                       System.ouot.println(x);

作者: 大神在何方    时间: 2015-3-17 23:35
for(String)
作者: qsmaxmin    时间: 2015-3-17 23:40
哥们,可以的。。。
作者: 薛慧彬    时间: 2015-3-17 23:56
可以的。。。。。:time:
作者: Dark县令    时间: 2015-3-17 23:58
可以的、但是你记得需要是条件语句、
作者: 浅步调    时间: 2015-3-18 00:07
可以的哦!
作者: 云行水边    时间: 2015-3-18 00:11
可以的。。。。。。。。。
作者: 卢乾荣    时间: 2015-3-18 00:58
增强型的for循环 和普通for循环一样
增强型的for循环 优点主要体现在集合中,随便举个例子
比如对 set 的遍历
一般是迭代遍历:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
  String str = it.next();
  System.out.println(str);
}
for循环遍历:
for (String str : set) {
      System.out.println(str);
}
是不是简单些?

优点还体现在泛型 假如 set中存放的是Object

Set<Object> set = new HashSet<Object>();
for循环遍历:
for (Object obj: set) {
      if(obj instanceof Integer){
                int aa= (Integer)obj;
             }else if(obj instanceof String){
               String aa = (String)obj
             }
              ........
}
如果你用Iterator遍历,那就晕了
map list 也一样

唯一的缺点就是 在遍历 集合过程中,不能对集合本身进行操作
  for (String str : set) {
   set.remove(str);//错误!
  }
作者: 吐槽ing    时间: 2015-3-18 13:58
for循环是开界的。它的一般形式为:for(<初始化>; <条件表过式>; <增量>)语句;初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用“;”分开。




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