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
等