黑马程序员技术交流社区

标题: 增强for循环,具体用法?? [打印本页]

作者: tpsu88    时间: 2013-6-16 19:03
标题: 增强for循环,具体用法??
本帖最后由 孙百鑫 于 2013-6-19 09:04 编辑

看了一些增强for循环,不理解!
请具体说一下,__:__冒号两边的东西应该写什么??谢谢!!如这句话我就不太理解,请转译成普通for循环,具体说说怎么变化的!!谢谢谢谢谢谢!
  1. private static String add(int[] arr, int index, int i) {
  2.                 List list = new ArrayList();
  3.                 for(int k : arr){
  4.                         list.add(k);
  5.                 }
  6.                 list.add(index, i);
  7.                 return list.toString();
  8.         }
复制代码

作者: shang1jk    时间: 2013-6-16 19:30
int k:arr

右边arr, 是类似集合的变量, 如数组等,

左边k, 是与右边变量中的元素相同类型的一个变量.

相当于每次从arr中取出一个元素赋值给k, 然后操作k.
作者: 杨增坤    时间: 2013-6-16 19:32
for(int k : arr){
                   list.add(k);
  }这个也相当于foreach()循环
左边:右边   
左边是右边集合中的元素。 解释:例如  int k是整形  arr是整形数组,所以k是arr中的数组元素  
希望对你有帮助!

作者: 花伟昌    时间: 2013-6-16 21:15
foreach语句:
格式:for(类型 变量 :数组或Collection集合)

foreach语句与传统for语句相比,有一定局限性:
1,传统for可以完成对语句执行很多次,因为可定义控制循环的条件的增量。
2,foreach语句是一种简写形式,它必须有遍历的目标,该目标要么是集合,要么是数组。
注意:对数组的遍历如果只是获取数组中的元素,可以使用foreach语句,如果对数组的角标进行操作建议使用传统for.
作者: 张承富    时间: 2013-6-17 12:12
1.for 你先要给3条件,
foreach 不需要条件,他是自动遍历给定的集合体的所有值
2.foreach循环不能为循环中的变量赋值.
foreach要求所有元素的类型相同,它不需要知道集合总共有多少个。。
3.性能方面:
foreach只是for一个封装而已,内部调用的for
foreach更优雅一些


作者: 月时微    时间: 2013-6-17 18:53
等效于
private static String add(int[] arr, int index, int i) {
                List list = new ArrayList();
                for(int x=0;x<arr.lengh,x++){
                        list.add(arr[x]);
                }
                list.add(index, i);
                return list.toString();
        }



int k:arr

右边arr, 是类似集合的变量, 如数组等,

左边k, 是与右边变量中的元素相同类型的一个变量.






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