Java支持壹個簡便的for循環,稱之為for-each循環,不使用下標變量就可以順序地遍歷整個數組。
例如,下面代碼就可以顯示數組myArray地所有元素:
for?(int?i?:?myArray)?{ System.out.println(i); }
當需要以其他順序遍歷數組或改變數組中地元素時,還是必須使用下標變量。
但foreach並不是壹個關鍵字,foreach語句是for語句的特殊簡化版本,而且foreach語句並不能完全取代for語句,然而,任何的foreach語句都可以改寫為for語句版本。 習慣上將這種特殊的for語句格式稱之為“foreach”語句,從英文字面意思理解foreach也就是“for 每壹個”的意思,實際上也就是這個意思。?
下面通過壹個簡單例子看看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語句是for語句特殊情況下的增強版本,簡化了編程,提高了代碼的可讀性和安全性(不用怕數組越界)。相對老的for語句來說是個很好的補充,提倡能用foreach的地方就不要再用for了,在用到數組索引的情況下,foreach顯得力不從心,這個時候是用for語句的時候了。