最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
15-Java while 与 do...while循环
时间:2026-06-03 09:45:01 编辑:袖梨 来源:一聚教程网

Java while 和 do…while循环
本教程通过多个实例,详细讲解Java中while与do...while循环的语法、执行流程及应用场景,帮助读者快速掌握循环结构的使用方法。
在计算机编程中,循环结构用于反复执行某段代码,直到特定条件(即测试表达式)不再成立(值为false)。例如,
假设我们需要在屏幕上打印一个句子50次。不使用循环时,需要编写50次print语句。但若需要打印一百万次呢?此时必须借助循环。通过循环,我们只需编写一次print语句,即可按需重复执行任意次数。
以上简单示例说明了循环在编程中的核心地位。Java支持三种循环类型:
Java while循环
Java中while循环的语法为:
while (testExpression) {
// while循环体中的代码
}
while循环如何工作?
在上述语法中,括号内的测试表达式(testExpression)是一个布尔表达式。若测试表达式(testExpression)的结果为true,
-
while循环内的语句将被执行。
-
随后,再次评估测试表达式(testExpression)。
上述过程持续进行,直到测试表达式的结果变为false。若测试表达式结果为false,
- 则while循环终止。
While循环流程图

示例1:while循环
//程序打印行10次
class Loop {
public static void main(String[] args) {
int i = 1;
while (i <= 10) {
System.out.println("Line " + i);
++i;
}
}
}
输出:
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
在上述示例中,测试表达式为(i <= 10),用于判断i的值是否小于或等于10。
初始时,i的值为1,测试表达式(testExpression)结果为true,因此while循环内的print语句得以执行。
注意while循环内的语句
++i;
该语句使i的值在每次迭代中增加1。经过10次迭代后,i变为11,此时测试表达式(i <= 10)为false,while循环结束。
示例2:Java while循环
//编程以查找1到100之间的自然数之和。
class AssignmentOperator {
public static void main(String[] args) {
int sum = 0, i = 100;
while (i != 0) {
sum += i; // 等同于 sum = sum + i;
--i;
}
System.out.println("Sum = " + sum);
}
}
输出:
Sum = 5050
此处,我们声明了两个变量sum和i,初始值分别为0和100。
在while循环的每次迭代中,
-
为sum变量赋值为sum + i
-
i的值减1
循环持续进行,直到i的值变为0为止。
1st 重复: i = 100, sum = 0+100 = 100, 同时 --i = 99
2nd 重复: i = 99, sum = 100+99 = 199, 同时 --i = 98
3rd 重复: i = 98, sum = 199+98 = 297, 同时 --i = 97
... .. ...
... .. ...
99th 重复: i = 2, sum = 5047+2 = 5049, 同时 --i = 1
100th 重复: i = 1, sum = 5049+1 = 5050, 同时 --i = 0
Java do… while循环
do…while循环与while循环类似,但有一个关键区别:它在检查测试表达式之前,会先执行一次循环体。
do…while循环的语法如下:
do {
// do...while循环体内的代码
} while (testExpression);
do… while循环如何工作?
do…while循环会先执行一次循环体(此时尚未检查测试表达式)。之后,才评估测试表达式。
若测试表达式结果为true,则再次执行循环体中的代码,并重新计算测试表达式。此过程重复进行,直至测试表达式结果为false。
当测试表达式为false时,do…while循环停止。
do … while循环流程图

示例3:do … while循环
下面的程序计算用户输入的数字总和,直到用户输入0为止。
import java.util.Scanner;class Sum {
public static void main(String[] args) {
Double number, sum = 0.0;
//创建一个Scanner类的对象
Scanner input = new Scanner(System.in); do { //接受用户的输入
System.out.print("输入一个数字: ");
number = input.nextDouble();
sum += number;
} while (number != 0.0); //测试表达
System.out.println("Sum = " + sum);
}
}
输出:
输入一个数字: 2.5
输入一个数字: 23.3
输入一个数字: -4.2
输入一个数字: 3.4
输入一个数字: 0
Sum = 25.0
无限循环
使用循环时需格外谨慎。若测试表达式设置不当,使其永不为false,则while和do…while循环将无限执行。
此类情况称为无限while或do…while循环。例如,
//无限while循环
while (true) {
//while循环主体
}
再举一个实例
//无限while循环
int i = 100;
while (i == 100) {
System.out.print("Hey!");
}
综上,while与do...while循环均用于重复执行代码,区别在于do...while确保至少执行一次循环体。掌握这两种循环结构,能有效处理编程中的重复性任务。
相关文章
- Gemini下载怎么用?3个步骤搞定 06-04
- Gemini API密钥怎么申请?2026实测4种渠道对比 06-04
- 壹深圳app如何查看回放 06-04
- 我亲测了Gemini学生认证,全流程+踩坑记录 06-04
- Gemini 3.0使用教程 vs 4.0:3大区别与选择建议 06-04
- 干紫菜是紫色的炖汤后变成了绿色这是买到假紫菜了吗 小鸡宝宝考考你蚂蚁庄园3月9日答案 06-04