上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.6 do-while循环语句
与while循环不同,do-while循环将先执行一次循环体再计算条件表达式的值,所以不论条件表达式返回什么值,都将至少执行一次循环体,其语法为:
do{语句序列}while(条件表达式);
提示:花括号是可选的部分,如果没有,其语句序列中只能包含一句语句,否则编译报错。
其执行流程如图4-15所示。
图4-15 do-while循环的执行流程
如下代码说明了do-while循环的基本使用情况。
1 //代码实现 2 public class Sample4_6 3 { 4 public static void main(String args[]) 5 { 6 int i=0; 7 do 8 { //循环体开始 9 System.out.println(i); //打印 10 i++; 11 } 12 while(i<=10); //循环体末尾 13 } 14 }
注意: 一定要使用while表达式后的分号,它表示do-while循环语句的结束。
编译运行如上程序,其结果如图4-16所示。
图4-16 Sample4_6的编译运行结果
其执行流程如图4-17所示。
图4-17 Sample4_6 do-while循环的执行流程
若条件根本不成立,即返回false,那么代码也会执行一次,例如:
1 int i=0; 2 do 3 { //循环体开始 4 System.out.println(i); //打印 5 i++; 6 } 7 while(false); //循环体末尾
· 在上述代码中,表达式直接是false,条件不满足。
· 循环体内的语句将先执行一次,即打印“0”,并且i自增为1。下面介绍while与do-while联合使用的例子,代码如下。
1 int i=0; 2 do while(i<=10) 3 { 4 System.out.println(i); //打印 5 i++; 6 } 7 while(false);
· 其运行结果为打印1~10。
· 上述代码看起来有点费解,其实质是do-while循环内包含了while循环。
· 执行过程为,外层do-while循环将先执行一次循环体内的while循环,while循环打印10以内的整数后,经过do-while循环条件检查时,返回false退出循环。
· 读者可以看出,若不注意书写格式,将大大降低代码的可读性。