增强for概述
是JDK1.5新特性
专门用来遍历集合和数组的
本质:迭代器,也会存在并发修改异常的问题
增强for格式
for(数据类型 变量名: 数组名或集合名){ 使用变量即可,该变量就是元素 }
好处:
简化了数组和集合的遍历。
弊端:
增强for的目标不能为null。
如何解决呢? 对增强for的目标先进行不为null的判断,然后在使用。
代码演示
增强for循环遍历数组
/** * 增强for:遍历数组 */ public static void test01() { // 定义数组 int[] arr = {1,2,3,4,5}; // 使用增强for:遍历数组 for(int num: arr) { System.out.println(num++); } System.out.println("--------------"); // 使用增强for:遍历数组 for(int num: arr) { System.out.println(num); } }
增强for循环遍历集合
/** * 使用增强for遍历集合 */ public static void test02() { // 创建集合 /*ArrayList<Student> list = new ArrayList<>(); list.add(new Student("jack")); list.add(new Student("rose")); list.add(new Student("lily"));*/ Student[] list = new Student[3]; list[0] = new Student("jack"); list[1] = new Student("rose"); list[2] = new Student("lily"); // 使用增强for for(Student stu:list) { System.out.println(stu); stu.setName("lucy"); } System.out.println("------------"); for(Student stu:list) { System.out.println(stu); } }
注意事项
如果遍历的是引用数据类型对象,则for循环内使用引用变量修改对象的成员变量值会影响集合或数组中对象的成员变量值。