Java 基础 - 8. 循环语句 while
1. 引入
在编程中,重复执行某些任务是很常见的需求。当我们知道需要重复多少次操作时,通常使用 for 循环来处理。但是,有时候我们并不事先知道循环的次数,而是根据某个条件来决定是否继续执行循环。在这种情况下,while 循环非常适合。
while 循环允许在满足特定条件的情况下反复执行代码块,直到条件不再满足为止。
2. 介绍
while 循环是另一种常用的循环语句,它与 for 循环相比更加灵活。while 循环适用于在循环次数不确定时使用,比如我们根据某个条件来控制循环是否继续。
while 循环的基本结构:
while (条件) {
// 循环体
}
- 条件:在每次循环之前都会检查这个条件。如果条件为
true,则执行循环体;如果条件为false,则停止循环。 - 循环体:在条件为
true时会被反复执行。
3. 语法 + 案例
3.1 while 循环的基本示例
示例:打印 1 到 5 的数字
public class WhileExample {
public static void main(String[] args) {
int i = 1; // 初始化变量
while (i <= 5) { // 条件检查
System.out.println(i); // 打印数字
i++; // 更新变量
}
}
}
运行结果:
1
2
3
4
5
在这个例子中:
- 我们先初始化了变量
i = 1,然后使用while循环。 - 每次进入循环时,都会检查
i <= 5是否为true,如果是,就执行循环体,打印出当前值,并在每次循环结束后i++增加 1。 - 当
i的值大于 5 时,循环停止。
3.2 在循环中执行多个语句
while 循环体内不仅可以执行一条语句,还可以执行多条语句,只需要使用大括号 {} 将多条语句包围起来。
示例:打印数字及其平方
public class WhileExample {
public static void main(String[] args) {
int i = 1;
while (i <= 5) {
System.out.println("数字: " + i);
System.out.println("平方: " + (i * i));
i++;
}
}
}
运行结果:
数字: 1
平方: 1
数字: 2
平方: 4
数字: 3
平方: 9
数字: 4
平方: 16
数字: 5
平方: 25
3.3 使用 while 循环计算 1 到 N 的和
while 循环适用于我们不知道循环次数,或者希望根据某个条件不断循环的情况。接下来我们来通过 while 循环计算从 1 到某个数字 N 的总和。
示例:计算 1 到 100 的和
public class SumExample {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while (i <= 100) {
sum += i; // 累加
i++; // 更新变量
}
System.out.println("1 到 100 的和是: " + sum);
}
}
运行结果:
1 到 100 的和是: 5050
在这个例子中:
- 我们使用
sum += i将 1 到 100 的数字逐一相加,并在每次循环结束时通过i++更新循环变量。
4. 代码说明
-
初始化部分:
int i = 1;先定义并初始化变量i,通常只会执行一次。 -
条件部分:
while (i <= 5)在每次循环前检查条件表达式是否为true,如果条件满足,则继续执行循环体。如果条件为false,则跳出循环。 -
更新部分:
i++每次循环后会更新循环变量的值,确保循环变量不断变化。 -
循环体:在满足条件时,执行循环体内的代码。在每次条件成立时,循环体的内容将被重复执行。
5. 练习题(含答案)
练习 1:打印 1 到 10 的数字
要求:编写程序,使用 while 循环打印从 1 到 10 的数字。
参考答案:
public class PrintNumbers {
public static void main(String[] args) {
int i = 1;
while (i <= 10) {
System.out.println(i);
i++;
}
}
}
运行结果:
1
2
3
4
5
6
7
8
9
10
练习 2:计算 1 到 N 的和
要求:编写程序,计算从 1 到用户输入的数字 N 的和。
参考答案:
import java.util.Scanner;
public class SumUpToN {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个数字 N:");
int N = scanner.nextInt();
int sum = 0;
int i = 1;
while (i <= N) {
sum += i;
i++;
}
System.out.println("从 1 到 " + N + " 的和是: " + sum);
}
}
示例运行结果:
请输入一个数字 N:10
从 1 到 10 的和是: 55
练习 3:输出从 10 到 1 的倒序数字
要求:编写程序,使用 while 循环输出从 10 到 1 的数字。
参考答案:
public class ReverseNumbers {
public static void main(String[] args) {
int i = 10;
while (i >= 1) {
System.out.println(i);
i--;
}
}
}
运行结果:
10
9
8
7
6
5
4
3
2
1
通过这篇文章,您了解了如何使用 while 循环来执行重复的任务。当我们不确定循环次数,而是希望基于某个条件来控制循环时,while 循环是一种非常有效的工具。希望这些示例能够帮助您掌握 while 循环的基本用法!
评论区