我是 ABin-阿斌:写一生代码,创一世佳话。 如果小伙伴们觉得我的文章有点 feel ,那就点个赞再走哦。
具体介绍
- Java 5.0 提供了 foreach 循环迭代访问 Collection 和数组。
- 遍历操作不需获取 Collection 或数组的长度,无需使用索引访问元素。
- 遍历集合的底层调用 Iterator 完成操作。
- foreach 还可以用来遍历数组。
代码演示
public class ForTest {
@Test
public void test01(){
Collection collection = new ArrayList();
collection.add(2020);
collection.add("张三");
collection.add("李四");
collection.add(new String("上海"));
collection.add(new Person("阿斌",23));
// for(集合元素的类型 局部变量 : 集合对象)
//内部任然调用了迭代器
for (Object o : collection) {
System.out.println(o);
}
}
@Test
public void test02(){
int[] arr = new int[]{1,3,5,7,9};
// for(数组元素类型 局部变量 : 数组对象)
//内部任然调用了迭代器
for (int i : arr) {
System.out.print(i);
}
}
//面试笔试题:判断新赋值的字符串是否会改变原有的
@Test
public void test03(){
String[] arr = new String[]{"新","年","快","乐"};
//普通 for 循环
//会:因为这里拿的是本身的数组元素去做修改的 arr[i],所以当我们赋值的时候就改变了原有的了。
for (int i = 0; i < arr.length; i++) {
arr[i] = "2021";
System.out.println(arr[i]);
}
//增强 for 循环
//不会:因为这里我们仅仅是把 arr 赋值给 s,下面的修改只是针对s的改变,所以不会改变原有数组元素。
for (String s : arr) {
s = "2021";
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}