for 循环
约 475 字大约 2 分钟
2024-08-09
介绍
除了 while 和 do while 循环,Java 使用最广泛的是 for 循环
for 循环的功能非常强大,它使用计数器实现循环。for 循环会先初始化计数器,然后,在每次循环前检测循环条件,在每次循环后更新计数器。计数器变量通常命名为 i
基础语法
for (初始条件; 循环条件; 循环后更新计数器) {
// 执行语句
}从1到100求和
public static void main(String[] args) {
int sum = 0;
// i 初始值为 1,i 满足小于 100 执行循环体,执行 i++ 再判断是否满足条件
for (int i = 1; i <= 100; i++) {
sum = sum + i;
}
System.out.println(sum);
}数组求和
public static void main(String[] args) {
int sum = 0;
int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
System.out.println(sum);
}灵活使用for循环
通常不推荐这样写,但是,某些情况下,是可以省略 for 循环的某些语句的。
// 不设置结束条件:
for (int i=0; ; i++) {
...
}// 不设置结束条件和更新语句:
for (int i=0; ;) {
...
}// 什么都不设置:
for (;;) {
...
}for each循环
很多时候,我们实际上真正想要访问的是数组每个元素的值。Java 还提供了另一种 for each 循环,它可以更简单地遍历数组
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
for (int num : arr) {
System.out.println(num);
}
}和
for循环相比,for each循环的变量n不再是计数器,而是直接对应到数组的每个元素。for each循环的写法也更简洁。但是,for each循环无法指定遍历顺序,也无法获取数组的索引。除了数组外,
for each循环能够遍历所有"可迭代"的数据类型,包括后面会介绍的List、Map等