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循环流程图

Java while循环流程图
While循环的工作

示例1:while循环

//程序打印行10次classLoop{publicstaticvoidmain(String[]args){inti=1;while(i<=10){System.out.println("Line"+i);++i;}}}

输出

Line1Line2Line3Line4Line5Line6Line7Line8Line9Line10

在上面的示例中,我们有一个测试表达式(i <= 10)。它检查i的值是否小于或等于10。

最初,此处i的值为1。因此,测试表达式(testExpression)的计算结果为true。因此,将执行while循环内的print语句。

请注意while循环内的语句

++i;

该语句在每次迭代中将i值增加1。经过10次迭代后,i的值为11。然后测试表达式(i <= 10)为false,求和while循环终止。

要了解有关测试表达式及其评估方式的更多信息,请访问Java 关系运算符Java 逻辑运算符

示例2:Java while循环

//编程以查找1到100之间的自然数之和。classAssignmentOperator{publicstaticvoidmain(String[]args){intsum=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=992nd重复:i=99,sum=100+99=199,同时--i=983rd重复:i=98,sum=199+98=297,同时--i=97................99th重复:i=2,sum=5047+2=5049,同时--i=1100th重复: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循环流程图

Java中的while循环流程图
do ... while循环的工作流程图

示例3:do ... while循环

下面的程序计算用户输入的数字总和,直到用户输入0。

为了接受用户的输入,我们使用了Scanner对象。要了解更多信息Scanner,请访问Java Scanner

importjava.util.Scanner;classSum{publicstaticvoidmain(String[]args){Doublenumber,sum=0.0;//创建一个Scanner类的对象Scannerinput=newScanner(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输入一个数字:0Sum=25.0

无限循环

在使用循环时,我们应始终小心。 这是因为如果我们错误地设置了测试表达式,使其永远不会为false,则while和do ... while循环将永远运行。

这就是所谓的无限while和do...while循环。例如,

//无限while循环while(true){//while循环主体}

再举一个实例

//无限while循环inti=100;while(i==100){System.out.print("Hey!");}

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

编辑于2024-05-20 15:22