do...while循环语句
do…while循环语句也被称为后测试循环语句,它和while循环语句的功能类似,其语法格式如下:
do {
执行语句
...
} while(循环条件);
从上面的语法结构可以看出,do…while循环语句与while循环语句的主要区别是:do…while循环语句是先执行循环体,再进行循环条件判断,这与while循环语句的语法结构相反,并且无论循环条件是否成立,do…while循环语句中的循环体都会无条件的先执行一次,然后再根据循环条件来决定是否继续执行。
do…while循环语句的执行流程如图1所示。
图1 do…while循环语句的执行流程
接下来使用do…while循环语句求1~4自然数之和,如文件1所示。
文件1 Example12.java
1 public class Example12 {
2 public static void main(String[] args) {
3 int x = 1; // 定义变量x,初始值为1
4 do {
5 System.out.println("x = " + x); // 打印x的值
6 x++; // 控制变量x,进行自增
7 } while (x <= 4); // 判断循环条件是否成立
8 }
9 }
运行结果如图2所示。
图2 运行结果
从图2可以看出,使用while和do...while循环语句运行结果一致,这就说明do…while循环语句和while循环语句能实现同样的功能。
在某些特殊条件下,这两种循环语句还是有差别的。如果循环条件在循环语句开始时就不成立,那么while循环的循环体一次都不会执行,而do…while循环的循环体还是会执行一次。如果将while和do...while循环条件x<=4都改为x < 1,那么do...while循环会打印出“x=1”的结果,而while循环什么也不会打印,即不执行循环。