for (int num : numbers) 是 Java 中的一种 增强型 for 循环(也称为 for-each 循环)。它的作用是遍历数组或集合中的每一个元素,并对每个元素执行循环体中的操作。
1. 增强型 for 循环的语法
java
Copy
for (元素类型 变量名 : 数组或集合) {
// 循环体
}
元素类型:数组或集合中元素的类型(如
int、String等)。变量名:每次循环时,当前元素的值会赋给这个变量。
数组或集合:需要遍历的数组或集合(如
int[]、List等)。
2. 增强型 for 循环的作用
遍历数组或集合:依次访问数组或集合中的每个元素。
简化代码:相比传统的
for循环,增强型for循环更简洁,不需要手动管理索引。
3. 例子说明
例子 1:遍历数组
java
Copy
int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
System.out.print(num + " ");
}
int num:每次循环时,num会依次取numbers数组中的每个元素的值。执行过程:
第一次循环:
num = 1,输出1。第二次循环:
num = 2,输出2。以此类推,直到遍历完所有元素。
输出结果:
Copy
1 2 3 4 5
例子 2:遍历集合
java
Copy
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
String fruit:每次循环时,fruit会依次取fruits集合中的每个元素的值。输出结果:
Copy
Apple Banana Orange
4. 与传统 for 循环的对比
传统 for 循环
java
Copy
for (int i = 0; i < numbers.length; i++) {
int num = numbers[i];
System.out.print(num + " ");
}
增强型 for 循环
java
Copy
for (int num : numbers) {
System.out.print(num + " ");
}
传统 for 循环:需要手动管理索引(如
i),适合需要访问索引的场景。增强型 for 循环:更简洁,适合只需要遍历元素的场景。
5. 注意事项
只读遍历:增强型
for循环只能访问元素,不能修改数组或集合的结构(如删除或添加元素)。适用于数组和集合:可以用于数组、
List、Set等实现了Iterable接口的集合类。
6. 总结
for (int num : numbers)是一种增强型for循环,用于遍历数组或集合中的每个元素。它简化了代码,适合只需要访问元素的场景。
如果需要修改数组或集合的结构,或者需要访问索引,可以使用传统
for循环。