详解Java中的do...while循环语句的使用方法

时间:2021-05-19

对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while循环和while循环相似,不同的是,do…while循环至少会执行一次。

do { //代码语句}while(布尔表达式);

请注意,布尔表达式在循环的末尾,因此循环中的语句在测试布尔值之前已经执行了一次。

如果布尔表达(boolean_expression)式评估结果为true,则控制跳回到do语句,循环中的语句再次执行。 重复此过程,直到布尔表达式(boolean_expression)评估结果为false。

do..while循环语句也称为后测试循环语句,它的循环重复执行方式,也是利用一个条件来控制是否要继续重复执行这个语句。与while循环所不同的是,它先执行一次循环语句,然后再去判断是否继续执行。

例如,计算1到100之间所有整数的和,也可以使用do...while循环语句实现。

具体代码如下:

int sum=0;int i=1;do{sum+=i;i++;}while (i<=100);System.out.println("1到100之间所有整数的和是: "+sum);

do...while循环语句执行的过程是:先执行一次循环体,然后再判断条件表达式,如果条件表达式的值为true,则继续执行,否则跳出循环。也就是说,do...while循环语句中的循环体至少被执行一次。

注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为true,则语句块一直执行,直到布尔表达式的值为false。

示例2. do…while循环

这是一个简单的java do while循环示例,用于打印5到10之间的数字。/

public class JavaDoWhileLoop { public static void main(String[] args) { int i = 5; do { System.out.println(i); i++; } while (i <= 10); }}

执行上面示例代码,得到以下结果:

5
6
7
8
9
10

实例3 输出从10开始但小于20的数

public class Test { public static void main(String args[]){ int x = 10; do{ System.out.print("value of x : " + x ); x++; System.out.print("\n"); }while( x < 20 ); }}

以上实例编译运行结果如下:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

示例4. do…while无限循环

通过在do...while循环中将布尔表达式使用true值来创建无限循环。下面是一个简单的做java无限循环的例子(伪代码)。

//package com.java.javadowhileloop;public class DoWhileTrueJava { public static void main(String[] args) throws InterruptedException { do { System.out.println("Start Processing inside do while loop"); // 在指定目录中查找文件 // 如果找到,则处理它,例如:将文件信息插入数据库 System.out.println("End Processing of do while loop"); Thread.sleep(5 * 1000); // 暂停5秒,接着执行 } while (true); }}

请注意,如果在终端中执行程序,则可使用Ctrl + C手动退出应用程序。 如果已在Eclipse IDE中执行程序,则会有一个红色按钮来终止程序。

do…while与while循环比较

当希望在循环内的语句至少执行一次时,则应该使用do...while循环。 否则,使用while循环总是更好选择。Java while循环看起来比do...while循环更干净。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章