Java中增强for循环(也叫做for each循环) ,是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是一个iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作
语法:
for(<迭代变量声明>:<数组>)
{
语句;
}
for(元素的数据类型 变量:Collection集合or数组){
//写操作代码
}
这种for循环存在缺点:丢掉了索引信息
当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用普通方式的for循环来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。
public static void main(String[] args) {
String[] names = { "hello", "world", "welcome" };
//增强
for(String s:names)
System.out.println(s);
//普通
for(int i=0;i<names.length;i++)
System.out.println(names[i]);
}
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
//增强
for(int s:arr)
System.out.println(s);
//普通
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]);
}
本文详细介绍了Java中的增强for循环(foreach)及其工作原理,强调其适用于遍历数组和集合的特点。然而,由于增强for循环基于iterator,因此不支持在遍历过程中对集合进行增删操作。通过示例代码,展示了增强for循环与普通for循环在遍历数组和集合时的差异,特别指出增强for循环会丢失索引信息,若需要访问索引,推荐使用传统for循环。
1089

被折叠的 条评论
为什么被折叠?



