黑马程序员技术交流社区

标题: 增强for去普通for在使用上有什么区别 [打印本页]

作者: 木森    时间: 2015-7-21 08:34
标题: 增强for去普通for在使用上有什么区别
本帖最后由 木森 于 2015-7-22 22:44 编辑

如题,增强for去普通for在使用上有什么区别
作者: 李文思    时间: 2015-7-21 10:02
高级for循环,使用起来比较方便。代码也比较简单,如果只是为了操作集合中元素的而不使用索引的话,建议用这个。
普通for循环,如果你还需要使用索引进行其它操作的话,建议用这个。
作者: 李文思    时间: 2015-7-21 17:48
准备去深圳的android就业班13期。
作者: 王文辉    时间: 2015-7-21 17:49
1,增强for循环与普通for循环的区别:
增强for循环必须有被遍历的目标(如集合或数组)。
普通for循环遍历数组的时候需要索引。
增强for循环不能获取下标,所以遍历数组时最好使用普通for循环。
2,特点:
书写简洁。
对集合进行遍历,只能获取集合元素,不能对集合进行操作,类似迭代器的简写形式,但是迭代器可以对元素进行remove操作(ListIterator可以进行增删改查的操作)。

3,书写格式:
for(数据类型变量名 :被遍历的集合(collection)或者数组) {
执行语句
}

4,增强for循环使用示例:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class ForTest {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                /* 1.普通数组中的使用 */  
        int array[] = { 1,2,3,4,5,6,7,8,9};  
  
        // 增强的for循环  
        for (int item : array) {  
            System.out.println(item);  
        }  
  
        // 普通for循环
        for (int i = 0; i < array.length; i++)  
            System.out.println(array[i]);  
  
        /* 2.二维数组中的使用 */  
        int array2[][] = {{1,2,3}, {4,5,6}, {7,8,9} };  
         
        // 增强的for循环  
        for (int arr[] : array2) {  
            for (int item : arr) {  
                System.out.println(item);  
            }  
        }  
  
        // 普通for循环  
        for (int i = 0; i < array2.length; i++) {  
            for (int j = 0; j < array2[i].length; j++) {  
                System.out.println(array2[i][j]);  
            }  
        }  
  
        /* 3.List中的使用 */  
        List<String> list = new ArrayList<String>();  
        list.add("我");  
        list.add("要");  
        list.add("进");  
        list.add("黑");  
        list.add("马");
         
        // 增强的for循环  
        for (String item : list){  
            System.out.println(item);            
        }  
                  
        //普通for循环
        for (int i = 0; i < list.size(); i++) {  
            System.out.println(list.get(i));  
        }  
  
        //迭代器遍历  
        Iterator<String> it = list.iterator();
        while (it.hasNext()) {  
            System.out.println(it.next());  
        }  
        }

}
作者: 18671183990    时间: 2015-7-21 21:02
王文辉 发表于 2015-7-21 17:49
1,增强for循环与普通for循环的区别:
增强for循环必须有被遍历的目标(如集合或数组)。
普通for循环遍历 ...

这个 很详细啊
作者: 王文辉    时间: 2015-7-21 21:04
18671183990 发表于 2015-7-21 21:02
这个 很详细啊

必须的,之前总结了一下,正好用上
作者: Arron    时间: 2015-9-29 02:39
高级for循环,使用起来比较方便。代码也比较简单,如果只是为了操作集合中元素的而不使用索引的话,建议用这个。 普通for循环,如果你还需要使用索引进行其它操作的话,建议用这个。




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