3.2 for 循环与计数
当循环次数很明确时,for 循环通常比 while 更清爽。它把初始值、条件和更新写在同一行。
for 的基本结构
Java 的 for 循环写作 for (初始值; 条件; 更新)。每一轮开始前先判断条件,循环体执行完后再执行更新。
java
for (int i = 0; i < 5; i++) {
System.out.print(i + " ");
}
System.out.println();
for (int i = 10; i < 15; i++) {
System.out.print(i + " ");
}
System.out.println();
for (int i = 1; i < 10; i += 2) {
System.out.print(i + " ");
}
System.out.println();运行结果:
text
0 1 2 3 4
10 11 12 13 14
1 3 5 7 9for (int i = start; i < stop; i += step) 表示从 start 开始,每次增加 step,到 stop 前停止。也就是说,stop 是“到这里停下”的边界,不是最后会输出的值。
正在加载概念检查...
固定次数求和
要计算从 1 到 100 的整数和,可以让循环变量从 1 走到 100。
java
int total = 0;
for (int i = 1; i <= 100; i++) {
total += i;
}
System.out.printf("1 到 100 的和:%d%n", total);运行结果:
text
1 到 100 的和:5050这种写法比 while 更容易看出循环变量 i 的范围。
正在加载交互实验...
正在加载概念检查...
斐波那契数列
斐波那契数列的前两项是 1, 1。从第三项开始,每一项都等于前两项之和。
java
Scanner input = new Scanner(System.in);
int n = input.nextInt();
if (n <= 0) {
System.out.println("请输入正整数。");
} else if (n == 1) {
System.out.println("1");
} else {
int first = 1, second = 1;
System.out.printf("%d %d ", first, second);
for (int i = 3; i <= n; i++) {
int current = first + second;
System.out.print(current + " ");
first = second;
second = current;
}
System.out.println();
}一次可能的运行结果:
text
10
1 1 2 3 5 8 13 21 34 55循环里最关键的是这两行:
java
first = second;
second = current;它们会把“前两项”的窗口向后移动一格,让下一轮能继续使用最新的两个值。
正在加载概念检查...
正在加载本节练习...