### do…while 循环语句

do…while 循环语句与 while 循环语句类似。它们之间的区别是 while 语句为先判断条件是否成立再执行循环体，而 do…while 循环语句则先执行一次循环后，再判断条件是否成立。也就是说 do…while 循环语句中大括号中的程序段至少要被执行一次。

语法：

do

{

执行语句

}

while(条件表达式)；

说明：do...while语句与while语句的一个明显的区别是do…while语句在结尾处多了一个分号（;）。

根据 do…while 循环语句的语法特点总结出 do…while 循环语句的执行过程如图 1 所示。

图 1 do…while 循环语句的执行过程

do-while 语句的执行步骤为：

第一步：执行循环体中的语句；

第二部：判断条件表达式的值；如果该值为 true，就跳转到第一步。否则退出循环体，继续执行程序的其它代码。

例 使用 Do-While 循环求 100 以内所有奇数的和。

public class OddNumberForDoWhile {

public static void main(String[] args) {

int num = 1; // 定义循环控制变量

int sum = 0; // 定义总和变量

do {

sum += num; // 等价于 sum=sum+num;

num += 2; // 等价于 num=num+2;

} while (num <= 100);

System.out.println("100 以内所有奇数的和是：" + sum);

}

}

运行结果如图 4.19 所示。

图 1 实例运行结果

例 在项目中创建类 Cycle，在主方法中编写如下代码，通过本实例可看出 while 语句与 do…while 语句的区别。

public class WhilePK {

public static void main(String[] args) {

// While 循环

int num1 = 50;

while (num1 < 50) {

System.out.println("While 循环被执行了");

num1++;

}

// Do-While 循环

int num2 = 50;

do {

System.out.println("Do-While 循环被执行了");

} while (num2 < 50);

}

}

运行结果如图 2 所示。

图 2 运行结果