一:先来说说for和foreach循环的区别
for和foreach的区别
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思
语法;
foreach
for(元素类型 元素变量:遍历对象){
执行代码
}
//遍历对象可以是数组也可以是集合
for循环
for(int i=0;i<=5;i++){
执行代码
}
如:通过遍历字符串数组来对比两者的区别
String strs={我的foreach,我的for,对比}
for(int i=0;i
System.out.println(strs[i]);
}
for(String str:strs){
System.out.println(str);
}
二:foreach的局限性
如果要引用数组或者集合的索引,则foreach语句无法做到,foreach仅仅老老实实地遍历数组或者集合一遍。
三,通过遍历二维数组来对比for和foreach的区别
public class double_array {
//需求:用二重循环来输出二维数组中的每一个元素
public static void main(String[] args) {
//定义一个两行三列的二维数组并赋值
int[] [] nums={{1,2,3},{4,5,6}};
//-------------通过for遍历二维数组-------------------------
//定位行
for(int i=0;i
//定位每行的元素
for(int j=0;j
//依次输出每个元素
System.out.print(nums[i][j]+",");
}
System.out.println();
}
//------------通过foreach遍历二维数组-------------------
for (int[] i : nums){
for (int j : i){
System.out.print(j+",");
}
System.out.println();
}
}
} 四:总结 foreach语句是for语句特殊情况下的增强版本,简化了编程,提高了代码的可读性和安全性(不用怕数组越界)。相对老的for语句来说是个很好的补充。提倡能用foreach的地方就不要再用for了。在用到对集合或者数组索引的情况下,foreach显得力不从心,这个时候是用for语句的时候了。