news 2026/4/17 8:26:17

15-Java while 和 do...while循环

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
15-Java while 和 do...while循环

Java while 和 do…while循环

在本教程中,我们将借助示例来学习如何在Java中使用while和do…while循环,并且还将学习while循环在计算机编程中的工作方式

在计算机编程中,循环用于重复特定的代码块,直到满足特定条件(测试表达式为false)为止。例如,

想象一下,我们需要在屏幕上打印一个句子50次。好吧,我们可以通过使用print语句50次(不使用循环)来做到这一点。您需要打印一百万次句子怎么样?您需要使用循环。使用循环,我们可以只编写一次print语句,然后运行任意次数。

这只是一个简单的示例,显示了循环在计算机编程中的重要性。Java中有3种循环类型:

  • for 循环;
  • while 循环;
  • do-while 循环

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!"); }

无限do…while循环的工作方式与while循环类似。

🎁 福利时间

如果你正在备战面试或者想要学习其他知识,给大家推荐一个宝藏知识库,作者整理了一些列 Java 程序员需要掌握的核心知识,有需要的自取不谢。

知识库地址:https://farerboy.com/


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 8:26:15

Reloaded-II启动问题全面诊断:3步定位与修复游戏启动失败

Reloaded-II启动问题全面诊断&#xff1a;3步定位与修复游戏启动失败 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II Reloaded-II作为一款通用的…

作者头像 李华
网站建设 2026/4/17 8:25:15

【仅剩72小时】生成式AI合规上线倒计时!一文掌握金融/医疗/政务三大高敏场景的强制性评估清单(含监管对标表)

第一章&#xff1a;生成式AI应用质量评估体系的总体框架与合规逻辑 2026奇点智能技术大会(https://ml-summit.org) 生成式AI应用的质量评估不能孤立于技术实现或业务目标之外&#xff0c;而必须嵌入由可信性、可控性、可解释性、公平性与合规性构成的五维协同框架。该框架以《…

作者头像 李华
网站建设 2026/4/17 8:25:14

城通网盘限速终结者:ctfileGet让你体验真正的满速下载

城通网盘限速终结者&#xff1a;ctfileGet让你体验真正的满速下载 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘的龟速下载而烦恼吗&#xff1f;每天面对80KB/s的限速&#xff0c;下载…

作者头像 李华
网站建设 2026/4/17 8:25:12

Ubuntu服务器编译安装Apache

Ubuntu服务器编译安装Apache 1.安装编译工具和依赖 sudo apt update sudo apt install build-essential libssl-dev zlib1g-dev -y2.下载源码 wget https://downloads.apache.org/httpd/httpd-2.4.66.tar.gz tar -zxvf httpd-2.4.66.tar.gz cd httpd-2.4.663.安装APR、APR-Util…

作者头像 李华
网站建设 2026/4/17 8:25:11

终极指南:使用Wand-Enhancer免费解锁WeMod高级功能的完整教程

终极指南&#xff1a;使用Wand-Enhancer免费解锁WeMod高级功能的完整教程 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 还在为WeMod的高级功能付费而烦…

作者头像 李华