增强 for (foreach)
package com.sq.sgg;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;
/*
Java 5.0 提供了 foreach 循环迭代访问 Collection集合 和数组。
遍历操作不需获取 Collection 或数组的长度,无需使用索引访问元素。
遍历集合的底层调用 Iterator 完成操作。
foreach 还可以用来遍历数组。
要遍历的 遍历后自定 要遍历的
元素类型 义元素名称 结构名称
for(Person person : persons){
System.out.println(person.getName());
}
*/
public class ForTest {
@Test
public void test1(){
Collection coll = new ArrayList();
coll.add(123);
coll.add(456);
coll.add(new Person("Jerry",20));
coll.add(new String("Tom"));
coll.add(false);
// for ( 集合元素的类型 局部变量 : 集合对象 )
// 内部仍然调用了迭代器
for(Object obj : coll){
System.out.println(obj);
}
// 123
// 456
// Person{name='Jerry', age=20}
// Tom
// false
}
@Test
public void test2(){
int[] arr = new int[]{1,2,3,4,5,6};
// for ( 数组元素的类型 局部变量 : 数组对象 )
for (int i : arr) {
System.out.println(i);
}
// 1
// 2
// 3
// 4
// 5
// 6
}
@Test
public void test3(){
String[] arr = new String[]{"MM","MM","MM"};
// 方式一:普通 for 赋值
// for (int i = 0; i < arr.length; i++) {
// arr[i] = "GG";
// }
// 方式二:增强 for 循环
for (String s : arr){
s = "GG";
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
// 方式一:
// GG
// GG
// GG
// 方式二:
// MM
// MM
// MM
}
}