为什么需要循环?¶
在编程中,我们经常需要重复执行一段代码。比如,要打印出1到100的数字,或者计算1到100的和,如果手动写100次重复的代码,会非常繁琐且容易出错。这时候,循环结构就能帮我们解决这个问题——它允许我们用简短的代码“重复执行某段操作”,而不用重复写同样的代码。
什么是 for 循环?¶
for 循环是Java中最基础、最常用的循环结构之一,特别适合已知循环次数的场景(比如需要重复5次、10次等)。它的核心思想是通过三个关键部分控制循环的执行:初始化、条件判断和迭代更新。
for 循环的语法结构¶
for 循环的基本语法如下:
for (初始化表达式; 条件判断表达式; 迭代更新表达式) {
// 循环体:需要重复执行的代码块
}
我们把这三个部分拆解来看:
- 初始化表达式:通常是给一个循环变量赋初始值(比如
int i = 1),表示循环从哪里开始。 - 条件判断表达式:判断循环是否继续执行的条件(比如
i <= 100)。如果条件成立(结果为true),就执行循环体;如果不成立(结果为false),就退出循环。 - 迭代更新表达式:每次循环结束后,对循环变量进行更新(比如
i++,即i = i + 1),为下一次条件判断做准备。
第一个 for 循环示例:打印 1 到 5¶
让我们用 for 循环打印出 1 到 5 的数字:
public class ForLoopDemo {
public static void main(String[] args) {
// 初始化:i从1开始
// 条件:i <= 5 时继续循环
// 迭代:每次循环后i自增1
for (int i = 1; i <= 5; i++) {
System.out.println("当前数字:" + i);
}
}
}
执行过程:
- 第一次循环:i=1,条件 1 <= 5 成立,打印 当前数字:1,然后执行 i++(i 变为 2)。
- 第二次循环:i=2,条件 2 <= 5 成立,打印 当前数字:2,然后 i 变为 3。
- …直到 i=5 时,打印 当前数字:5,然后 i 变为 6。此时条件 6 <= 5 不成立,循环结束。
输出结果:
当前数字:1
当前数字:2
当前数字:3
当前数字:4
当前数字:5
for 循环的经典应用¶
1. 计算 1 到 100 的和¶
假设我们需要计算 1 + 2 + 3 + … + 100 的和,用 for 循环可以这样实现:
public class SumExample {
public static void main(String[] args) {
int sum = 0; // 用于存储总和
for (int i = 1; i <= 100; i++) {
sum = sum + i; // 每次循环把当前i加到sum中
}
System.out.println("1到100的和是:" + sum); // 结果为5050
}
}
2. 求 5 的阶乘(5! = 5×4×3×2×1)¶
阶乘是另一个经典例子,用 for 循环实现:
public class FactorialExample {
public static void main(String[] args) {
int factorial = 1; // 阶乘结果初始为1
int n = 5; // 计算5的阶乘
for (int i = 1; i <= n; i++) {
factorial = factorial * i; // 每次循环乘以i
}
System.out.println(n + "的阶乘是:" + factorial); // 结果为120
}
}
注意事项:避免“死循环”¶
循环的核心是“条件判断”和“迭代更新”,如果这两个部分出错,可能会导致死循环(程序永远无法结束)。最常见的错误有:
1. 条件判断错误:比如把 i < 5 写成 i <= 5(多了等于),或忘记写迭代导致循环变量不更新(如 i = 1 且没有 i++)。
2. 迭代表达式遗漏:如果迭代表达式没写(比如 for (int i = 1; i <= 5; )),循环变量 i 永远是1,条件 i <= 5 永远成立,程序会一直运行。
总结¶
for 循环是Java中处理重复操作的“利器”,通过 初始化、条件判断、迭代更新 三个部分控制循环执行,核心是让循环体重复运行。初学者要牢记:
- 明确循环次数:适合已知需要重复几次的场景(如打印1到100)。
- 注意条件判断和迭代表达式:确保循环能正常结束,避免死循环。
- 循环体是核心:每次循环都会执行大括号内的代码,这部分是重复执行的关键。
掌握 for 循环后,你就能轻松处理“重复操作”的问题,为后续学习更复杂的循环(如嵌套循环、增强for循环)打下基础。