增强for
增强for循环的格式
for(数据大类型 变量名 : 数组或者集合对象名){
输出变量
}
增强for的出现时替代迭代器的,所以在遍历集合或者遍历数组就可以使用增强for去完成
增强for循环的弊端:如果集合的对象是null,如果再次对集合操作,就会出现异常
对集合进行判断,非空判断解决
四种遍历方法:
1:迭代器 2:普通for循环 3:增强for循环 4:(非重点)listiterator(iterator的子接口)两者相类似
(还以一种Vector自带的elements()方法,类似于迭代器的遍历方法)
如果结合为null,抛出:java.lang.NullPointerException当应用程序试图在需要对象的地方使用 null 时,抛出该异常
public class ForExercise { public static void main(String[] args) { ArrayList<String> array = new ArrayList<String>(); // array=null; array.add("hello"); array.add("java"); array.add("worlid"); // 迭代器遍历 //优点:自带选择判断语句hasNext()方法,不会出现遍历数量出现错误,书写复杂 // 可以对集合进行删除操作 //缺点:该方法只能遍历集合,比较局限,且需要建立对象,占用空间1525835359078 Iterator<String> it = array.iterator(); while (it.hasNext()) { String s = it.next(); System.out.println(s); } System.out.println("----------------"); //普通for循环 //优点:有判断数组长度的控制语句,并且可以选择遍历长度, // for循环使用范围广,且使用简单 //缺点:for循环更多适用于循环条件,不能对集合本身进行操作,对于集合遍历稍显不足 for(int x=0;x<array.size();x++) { String s1 = array.get(x); System.out.println(s1); } System.out.println("-----------------"); //增强for循环 //优点:代码简单易读,书写方便 //缺点:不能对集合本身进行操作 for(String b:array) { System.out.println(b); } } }