java foreach是什么?跟小編一起來(lái)解讀一下吧~
foreach語(yǔ)句是java5的新特征之一,在遍歷數(shù)組、集合方面,foreach為開發(fā)人員提供了極大的方便,foreach語(yǔ)句是for語(yǔ)句的特殊簡(jiǎn)化版本,但是foreach語(yǔ)句并不能完全取代for語(yǔ)句,任何的foreach語(yǔ)句都可以改寫為for語(yǔ)句版本。
下面通過(guò)兩個(gè)例子簡(jiǎn)單例子看看foreach是如何簡(jiǎn)化編程的。代碼如下:
foreach簡(jiǎn)化數(shù)組和集合的遍歷
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語(yǔ)句使用總結(jié) */ public?class?TestArray?{ ????public?static?void?main(String?args[])?{ ?????????TestArray?test?=?new?TestArray(); ?????????test.test1(); ?????????test.listToArray(); ?????????test.testArray3(); ?????} ????/** ?????*?foreach語(yǔ)句輸出一維數(shù)組 ?????*/ ????public?void?test1()?{ ????????//定義并初始化一個(gè)數(shù)組 ????????int?arr[]?=?{2,?3,?1}; ?????????System.out.println("----1----排序前的一維數(shù)組"); ????????for?(int?x?:?arr)?{ ?????????????System.out.println(x);?//逐個(gè)輸出數(shù)組元素的值 ?????????} ????????//對(duì)數(shù)組排序 ?????????Arrays.sort(arr); ????????//利用java新特性for?each循環(huán)輸出數(shù)組 ?????????System.out.println("----1----排序后的一維數(shù)組"); ????????for?(int?x?:?arr)?{ ?????????????System.out.println(x);?//逐個(gè)輸出數(shù)組元素的值 ?????????} ?????} ????/** ?????*?集合轉(zhuǎn)換為一維數(shù)組 ?????*/ ????public?void?listToArray()?{ ????????//創(chuàng)建List并添加元素 ?????????List?list?=?new?ArrayList (); ?????????list.add("1"); ?????????list.add("3"); ?????????list.add("4"); ????????//利用froeach語(yǔ)句輸出集合元素 ?????????System.out.println("----2----froeach語(yǔ)句輸出集合元素"); ????????for?(String?x?:?list)?{ ?????????????System.out.println(x); ?????????} ????????//將ArrayList轉(zhuǎn)換為數(shù)組 ?????????Object?s[]?=?list.toArray(); ????????//利用froeach語(yǔ)句輸出集合元素 ?????????System.out.println("----2----froeach語(yǔ)句輸出集合轉(zhuǎn)換而來(lái)的數(shù)組元素"); ????????for?(Object?x?:?s)?{ ?????????????System.out.println(x.toString());?//逐個(gè)輸出數(shù)組元素的值 ?????????} ?????} ????/** ?????*?foreach輸出二維數(shù)組測(cè)試 ?????*/ ????public?void?testArray2()?{ ????????int?arr2[][]?=?{{4,?3},?{1,?2}}; ?????????System.out.println("----3----foreach輸出二維數(shù)組測(cè)試"); ????????for?(int?x[]?:?arr2)?{ ????????????for?(int?e?:?x)?{ ?????????????????System.out.println(e);?//逐個(gè)輸出數(shù)組元素的值 ?????????????} ?????????} ?????} ????/** ?????*?foreach輸出三維數(shù)組 ?????*/ ????public?void?testArray3()?{ ????????int?arr[][][]?=?{ ?????????????????{{1,?2},?{3,?4}}, ?????????????????{{5,?6},?{7,?8}} ?????????}; ?????????System.out.println("----4----foreach輸出三維數(shù)組測(cè)試"); ????????for?(int[][]?a2?:?arr)?{ ????????????for?(int[]?a1?:?a2)?{ ????????????????for?(int?x?:?a1)?{ ?????????????????????System.out.println(x); ?????????????????} ?????????????} ?????????} ?????} }
運(yùn)行結(jié)果:
----1----排序前的一維數(shù)組 2 3 1 ----1----排序后的一維數(shù)組 1 2 3 ----2----froeach語(yǔ)句輸出集合元素 1 3 4 ----2----froeach語(yǔ)句輸出集合轉(zhuǎn)換而來(lái)的數(shù)組元素 1 3 4 ----4----foreach輸出三維數(shù)組測(cè)試 1 2 3 4 5 6 7 8 Process?finished?with?exit?code?0
以上就是小編今天的分享了,希望可以幫助到大家。