for(集合或数组中元素的类型 变量名 : 集合/数组的变量名){}
1.增强for循环,内部基于迭代器的,所以遍历时,仍然不能通过list的变量去修改集合内的元素。否则会发生并发修改异常;
2.增强for循环,会自动从第一个元素开始,遍历到最后一个元素;省去了我们自己编写循环变量的麻烦;
3.增强for循环,因为没有索引信息,所以,在循环中没有办法使用循环变量。
所以当不需要使用索引值的时候,而且是从第一个元素开始遍历到最后一个元素,那么可以使用增强for循环;
如果在循环过程中,需要用到索引值,就需要自己定义循环变量的方式实现;
实例:
public class Demo {
public static void main(String[] args) {
int[] arr = {24,32,43,24,325};
for(int i : arr){
// for(int n = 0;n < arr.length ;n++){
// int i = arr[n];
System.out.println("i = " + i);
}
//遍历集合
ArrayList<String> strList = new ArrayList<String>();
strList.add("aaa");
strList.add("bbb");
strList.add("ccc");
for(String s : strList){//增强for循环,内部基于迭代器的
System.out.println(s);
/*if(s.equals("bbb")){//不可以通过list去修改集合内的元素
strList.add("ddd");
}*/
}
//遍历二维数组
int[][] arr2 ={{2,3,432},{24,32,55,324},{6,432,43,232,4,32,432,4,32,432}};
for(int[] a1 : arr2){
for(int n : a1){
System.out.print(n + "\t");
}
System.out.println();
}
}
}