使用foreach循環遍歷數組和集合時,無需獲得數組和集合的長度,無須根據索引來訪問數組元素和集合元素,foreach循環自動遍歷數組和集合的每一個元素。
foreach的語句格式:
for(type variableName : array|connection){
//variable自動迭代訪問每一個元素
}
例子:
public class ForEachTest
{
public static void main(String[] args)
{
String[] books = {"java","c","c++","c#","asp"};
for(String book : books)
{
System.out.println(book);
}
}
}
輸出:
java
c
c++
c#
asp
public class ForEachTest
{
public static void main(String[] args)
{
String[] books = {"java","c","c++","c#","asp"};
for(String book : books)
{
book = "hello world!";
System.out.println(book);
}
System.out.println(books[0]);
}
}
輸出:hello world!
hello world!
hello world!
hello world!
hello world!
java
所以foreach這種循環一般只適合做數組的遍歷,提取數據顯示等,不適合用于增加刪除和使用下標等復雜的操作。
foreach語句是for語句特殊情況下的增強版本,簡化了編程,提高了代碼的可讀性和安全性(不用怕數組越界)。相對老的for語句來說是個很好的補充。
提倡能用foreach的地方就不要再用for了。在用到對集合或者數組索引的情況下,foreach顯得力不從心,這個時候是用for語句的時候了。foreach一般結合泛型使用