学而时习之,温故而知新。
java的增强fou循环(foreach) 是java5的新特征之一
foreach的循环对象一般是一个集合,List、ArrayList、LinkedList、Vector、数组等
格式:
for(元素类型T 每次循环元素的名称O : 循环对象){
//对O进行操作
}
看下遍历一个数组:
foreach写法
public class Main {public static void main(String[] args) {String[] name ={"a","b","c","d"};for(String str:name){System.out.println(str);}}
}
要是for循环使用:
String[] name ={"a","b","c","d"};
for(int i=0;i<name.length;i++){System.out.println(name[i]);
}
2这输入结果是一样的。看起来foreach简单一些
在看下遍历list
for写法
import java.util.ArrayList;
import java.util.List;
public class Main {public static void main(String[] args) {List<String> list = new ArrayList();list.add("a");list.add("b");list.add("c");for(String str : list){System.out.println(str);}}
}
foreach写法 List<String> list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); for(int i=0;i<list.size();i++){System.out.println(list.get(i));}
很简单,但是foreach也有局限性
foreach虽然能遍历数组或者集合,但是只能用来遍历,无法在遍历的过程中对数组或者集合进行修改,而for循环可以在遍历的过程中对源数组或者集合进行修改。
/**
* 描述:
*/
public class Client {
public static void main(String[] args) {
String[] names = {"beibei", "jingjing"};
for (String name : names) {
name = "huanhuan";
}
//foreach
System.out.println("foreach:"+Arrays.toString(names));
//for
for (int i = 0; i < names.length; i++) {
names[i] = "huanhuan";
}
System.out.println("for:"+Arrays.toString(names));
}
}
输出:
foreach:[beibei, jingjing]
for:[huanhuan, huanhuan]
知识回顾参考网络,,,,记录下