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

对于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循环更干净。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。