整體來說:
增強型for循環使用起來比較方便,代碼也比較簡單,如果只是操作集合中元素的而不使用索引的話,建議用此方法。
對於普通for循環,如果需要使用索引進行其它操作的話,建議用這個。
詳細來說:
1,區別:
增強for循環必須有被遍歷的目標(如集合或數組)。
普通for循環遍歷數組的時候需要索引。
增強for循環不能獲取下標,所以遍歷數組時最好使用普通for循環。
2,特點:
書寫簡潔。
對集合進行遍歷,只能獲取集合元素,不能對集合進行操作,類似迭代器的簡寫形式,但是迭代器可以對元素進行remove操作(ListIterator可以進行增刪改查的操作)。
3,格式:
for(數據類型 變量名 :被遍歷的集合(collection)或者數組) {
執行語句
}
List list = new ArrayList(); list.add("Hello "); list.add("Java "); list.add("World!"); String s = ""; for (String temp : list){ s += temp; //省去了對強制類型轉換步驟 } System.out.println(s); //上述代碼會被編譯器轉化為: List list = new ArrayList(); list.add("Hello "); list.add("Java "); list.add("World!"); String s = ""; for (Iterator iter = list.iterator(); iter.hasNext(); ){ String temp = iter.next(); s += temp; } System.out.println(s);
參考:https://blog.csdn.net/dujianjian666/article/details/79035718
https://www.cnblogs.com/houxudong/p/6890483.html