详解Java中的do...while循环语句的使用方法
作者:Maxsu
对于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循环更干净。