前段时间在跟着韩老师学数据结构的时候还以为康师傅没有讲增强for循环,原来是没看到哈哈。
package com.atguigu.java;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;
/**
* jdk5.0新增了foreach循环,用于遍历集合和数组
* @author
* @create 2022-03-29-16:15
*/
public class ForTest {
@Test
public void test1(){
Collection coll=new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new String("Tom"));
coll.add(new Person("Jerry",20));
// for(集合元素的类型 局部变量:集合对象)
// 内部仍然调用迭代器
for (Object obj:coll){
System.out.println(obj);
}
}
@Test
public void test2(){
// for(数组元素的类型 局部变量:数组对象)
int[] arr=new int[]{1,2,3,4};
for (int i:arr){
System.out.println(i);
}
}
//练习题
@Test
public void test3(){
String[] str=new String[]{"MM","MM","MM"};
//方式一:普通for循环
// for (int i = 0; i < str.length; i++) {
// str[i]="GG";
// } //直接改变数组内的内容
//方式二:增强for循环
for (String s:str){
s="GG";
}//此时的赋值是改变了新变量s的值,并未改变str数组的内容
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}
}