从java5以后,java提供了一种更简单的循环:foreach循环,这种循环遍历数组和集合更加简洁。使用foreach循环遍历数组和集合元素时,无需获得数组和集合长度,无需根据索引来访问数组元素和集合元素,foreach循环自动遍历数组和集合的每个元素。
foreach循环的语法格式如下:
for(type variableName :array | collection)
{
//variableName自动迭代访问每个元素...
}
在上面语法格式中,type是数组元素或集合元素的类型,variableName是一个形参名,foreach循环将自动将数组元素、集合元素依次赋给该变量。下面程序示范了了如何使用foreach循环来遍历数组元素。
public class ForEachTest
{
public static void main(String[] args)
{
String[] books = {"轻量级Java EE企业应用实战" ,
"疯狂Java讲义",
"疯狂Android讲义"};
//使用foreach循环来遍历数组元素,
//其中book将会自动迭代每个数组元素
for (String book : books)
{
System.out.println(book);
}
}
}
从上面程序可以看出,使用foreach循环遍历数组元素时无须获得数组长度,也无须根据索引来访问数组元素。foreach循环和普通循环不同的是,它无须循环迭代语句,这些部分都由系统来完成,foreach循环自动迭代数组的每个元素,当每个元素都被迭代一次后,foreach循环自动结束。
当使用foreach循环来迭代输出数组元素或集合元素时,通常不要对循环变量进行赋值,虽然这种赋值在语法上是允许的,但没有太大的实际意义,为且极易引起错误。