很多朋友都想了解java foreach循環?下面就一起來解讀一下吧~
foreach語句是java5的新特征之一,在遍歷數組、集合方面,foreach為開發人員提供了極大的方便,foreach語句是for語句的特殊簡化版本,但是foreach語句并不能完全取代for語句,任何的foreach語句都可以改寫為for語句版本。
下面通過兩個例子簡單例子看看foreach是如何簡化編程的。代碼如下:
foreach簡化數組和集合的遍歷
import?java.util.Arrays; import?java.util.List; import?java.util.ArrayList; /** *?Created?by?IntelliJ?IDEA. *?User:?leizhimin *?Date:?2007-12-3 *?Time:?16:58:24 *?Java5新特征之foreach語句使用總結 */ public?class?TestArray?{ ????public?static?void?main(String?args[])?{ ?????????TestArray?test?=?new?TestArray(); ?????????test.test1(); ?????????test.listToArray(); ?????????test.testArray3(); ?????} ????/** ?????*?foreach語句輸出一維數組 ?????*/ ????public?void?test1()?{ ????????//定義并初始化一個數組 ????????int?arr[]?=?{2,?3,?1}; ?????????System.out.println("----1----排序前的一維數組"); ????????for?(int?x?:?arr)?{ ?????????????System.out.println(x);?//逐個輸出數組元素的值 ?????????} ????????//對數組排序 ?????????Arrays.sort(arr); ????????//利用java新特性for?each循環輸出數組 ?????????System.out.println("----1----排序后的一維數組"); ????????for?(int?x?:?arr)?{ ?????????????System.out.println(x);?//逐個輸出數組元素的值 ?????????} ?????} ????/** ?????*?集合轉換為一維數組 ?????*/ ????public?void?listToArray()?{ ????????//創建List并添加元素 ?????????List?list?=?new?ArrayList (); ?????????list.add("1"); ?????????list.add("3"); ?????????list.add("4"); ????????//利用froeach語句輸出集合元素 ?????????System.out.println("----2----froeach語句輸出集合元素"); ????????for?(String?x?:?list)?{ ?????????????System.out.println(x); ?????????} ????????//將ArrayList轉換為數組 ?????????Object?s[]?=?list.toArray(); ????????//利用froeach語句輸出集合元素 ?????????System.out.println("----2----froeach語句輸出集合轉換而來的數組元素"); ????????for?(Object?x?:?s)?{ ?????????????System.out.println(x.toString());?//逐個輸出數組元素的值 ?????????} ?????} ????/** ?????*?foreach輸出二維數組測試 ?????*/ ????public?void?testArray2()?{ ????????int?arr2[][]?=?{{4,?3},?{1,?2}}; ?????????System.out.println("----3----foreach輸出二維數組測試"); ????????for?(int?x[]?:?arr2)?{ ????????????for?(int?e?:?x)?{ ?????????????????System.out.println(e);?//逐個輸出數組元素的值 ?????????????} ?????????} ?????} ????/** ?????*?foreach輸出三維數組 ?????*/ ????public?void?testArray3()?{ ????????int?arr[][][]?=?{ ?????????????????{{1,?2},?{3,?4}}, ?????????????????{{5,?6},?{7,?8}} ?????????}; ?????????System.out.println("----4----foreach輸出三維數組測試"); ????????for?(int[][]?a2?:?arr)?{ ????????????for?(int[]?a1?:?a2)?{ ????????????????for?(int?x?:?a1)?{ ?????????????????????System.out.println(x); ?????????????????} ?????????????} ?????????} ?????} }
運行結果:
----1----排序前的一維數組 2 3 1 ----1----排序后的一維數組 1 2 3 ----2----froeach語句輸出集合元素 1 3 4 ----2----froeach語句輸出集合轉換而來的數組元素 1 3 4 ----4----foreach輸出三維數組測試 1 2 3 4 5 6 7 8 Process?finished?with?exit?code?0
以上就是小編今天的分享了,希望可以幫助到大家。