for-each循环
Java中的for-each循环用于遍历数组或集合中的元素。它提供了一种简洁而方便的方式来迭代访问数组或集合中的元素,而无需使用传统的for循环和索引。
for-each循环的语法如下:
for (element : collection) {
// 执行循环体中的操作
}
其中,element是集合中的元素,collection是要遍历的数组或集合。
下面是一个示例代码,演示了如何使用for-each循环遍历数组:
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
在这个例子中,我们定义了一个整数数组numbers,然后使用for-each循环遍历这个数组,并将每个元素打印到控制台。
for-each循环也可以用于遍历集合。例如,我们可以使用for-each循环遍历一个List集合:
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
for (String name : names) {
System.out.println(name);
}
在这个例子中,我们定义了一个List集合names,然后使用for-each循环遍历这个集合,并将每个元素打印到控制台。
需要注意的是,for-each循环只能用于遍历数组或实现了Iterable接口的集合。如果要遍历一个没有实现Iterable接口的集合,可以使用传统的for循环和索引来实现遍历操作。
案例1:计算数组元素的总和
int[] nums = {1, 2, 3, 4, 5};
int sum = 0;
for (int num : nums) {
sum += num;
}
System.out.println("数组元素的总和为:" + sum);
运行结果:
数组元素的总和为:15
案例2:打印数组元素
String[] names = {"Alice", "Bob", "Charlie"};
for (String name : names) {
System.out.println(name);
}
运行结果:
Alice
Bob
Charlie
案例3:查找数组中的最大值
int[] nums = {5, 2, 8, 1, 9};
int max = Integer.MIN_VALUE;
for (int num : nums) {
if (num > max) {
max = num;
}
}
System.out.println("数组中的最大值为:" + max);
运行结果:
数组中的最大值为:9
案例4:计算数组中偶数的个数
int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int count = 0;
for (int num : nums) {
if (num % 2 == 0) {
count++;
}
}
System.out.println("数组中偶数的个数为:" + count);
运行结果:
数组中偶数的个数为:5
案例5:查找数组中的特定元素
int[] nums = {1, 2, 3, 4, 5};
int target = 3;
boolean found = false;
for (int num : nums) {
if (num == target) {
found = true;
break;
}
}
if (found) {
System.out.println("数组中包含目标元素:" + target);
} else {
System.out.println("数组中不包含目标元素:" + target);
}
运行结果:
数组中包含目标元素:3
案例6:修改数组元素的值
int[] nums = {1, 2, 3, 4, 5};
for (int i = 0; i < nums.length; i++) {
nums[i] *= 2;
}
for (int num : nums) {
System.out.println(num);
}
运行结果:
2
4
6
8
10
案例7:计算二维数组的总和
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int sum = 0;
for (int[] row : matrix) {
for (int num : row) {
sum += num;
}
}
System.out.println("二维数组的总和为:" + sum);
运行结果:
二维数组的总和为:45
案例8:打印二维数组元素
char[][] board = {{'A', 'B', 'C'}, {'D', 'E', 'F'}, {'G', 'H', 'I'}};
for (char[] row : board) {
for (char letter : row) {
System.out.print(letter + " ");
}
System.out.println();
}
运行结果:
A B C
D E F
G H I
案例9:查找二维数组中的特定元素
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int target = 5;
boolean found = false;
for (int[] row : matrix) {
for (int num : row) {
if (num == target) {
found = true;
break;
}
}
}
if (found) {
System.out.println("二维数组中包含目标元素:" + target);
} else {
System.out.println("二维数组中不包含目标元素:" + target);
}
运行结果:
二维数组中包含目标元素:5
案例10:计算集合元素的总和
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = 0;
for (int number : numbers) {
sum += number;
}
System.out.println("集合元素的总和为:" + sum);
运行结果:
集合元素的总和为:15
这些案例展示了使用for-each循环遍历数组和集合的常见用法,可以根据需要进行修改和扩展。