黑马程序员技术交流社区
标题:
for循环和foreach循环(已解决)
[打印本页]
作者:
张腾达
时间:
2012-7-28 21:02
标题:
for循环和foreach循环(已解决)
本帖最后由 张腾达 于 2012-7-30 09:09 编辑
请问for循环和foreach循环的异同,两种循环分别适用于什么情况呢
作者:
蔡尚猛
时间:
2012-7-28 21:15
for 你先要给初始值,还有就是简单的循环不负责取值
foreach 不需要事先给定初始值,他能自动遍历出的集合体的所有值,
for:常用于简单的循环;foreach:遍历一些集合的数据的时候会常用到
作者:
吴清华
时间:
2012-7-28 21:22
区别:
只能for循环不但可以从数组中读取元素,而且可以重新为数组的元素进行赋值,交换或者删除等操作。而foreach只能从数组中读取元素而不能重新赋值。
作者:
陈汉维
时间:
2012-7-28 21:25
个人理解:
for必须知道长度才可以遍历
而foreach在不知道长度的情况下也可以遍历
作者:
王辉
时间:
2012-7-28 21:32
for 你先要给初值,末值和步长
foreach 不需要事先给定初值,末值和步长,他是自动遍历给定的集合体的所有值
foreach 是只读的在循环体内不能对元素进行赋值操作
作者:
王广彬
时间:
2012-7-28 21:59
哈哈,给你举个例子吧:
class Demo2
{
public static void main(String[] args)
{
int array[]={1,2,3,4,45,5,6,7};
System.out.println("用foreach循环输出:");
for(int a:array)System.out.print(a+" ");
System.out.println("\n用for循环输出:");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
}
}
其实都挺好用的,到时得看你在什么情况下用.根据不同的情况用不同的方法.如果是单层循环用foreach比较方便,如果是多层循环要用for循环了.
作者:
黑马杨凯
时间:
2012-7-29 00:08
本帖最后由 黑马杨凯 于 2012-7-29 00:23 编辑
for循环的适用范围更广,更灵活,foreach循环用于遍历集合,要支持foreach循环,需要实现迭代器,要迭代一个类,使用方法GetEnumerator(),返回值为IEnumerator;要迭代一个方法使用IEnumerable。
作者:
李延辉
时间:
2012-7-29 09:47
foreach的效率比for的高,在foreach循环中,直接在一个集合里去数据,,无需判断下标等。另外,在使用foreach的时候要注意的是:在遍历集合的时候,不能对集合进行真删操作。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2