首页 > 代码库 > 小康陪你学JAVA--------三大循环之Do-while循环
小康陪你学JAVA--------三大循环之Do-while循环
do…while循环也是用于未知循环执行次数的时候,而while循环及do…while循环最大不同就是进入while循环前,while语句会先测试判断条件的真假,再决定是否执行循环主体,而do…while循环则是“先做再说”,每次都是先执行一次循环主体,然后再测试判断条件的真假,所以无论循环成立的条件是什么,使用do…while循环时,至少都会执行一次循环主体。do…while循环的格式如下:
当循环主体只有一个语句时,可以将左、右大括号去除。第一次进入do..while循环语句时,不管判断条件(它可以是任何表达式)是否符合执行循环的条件,都会直接执行循环主体。循环主体执行完毕,才开始测试判断条件的值,如果判断条件的值为真,则再次执行循环主体,如此重复测试判断条件、执行循环主体,直到判断条件的值为假,才会跳离do…while循环。下面列出了do…while循环执行的流程:
1. 进入do...whle循环前,要先为循环控制变量(或表达式)赋起始值。
2. 直接执行循环主体,循环主体执行完毕,才开始根据判断条件的内容决定是否继续执行循环:条件判断值为真(True)时,继续执行循环主体;条件判断值为假(False)时,则跳出循环,执行其他语句。
3. 执行完循环主体内的语句后,重新为循环控制变量(或表达式)赋值(增加或减少),由于do…while循环和while循环一样,不会自动更改循环控制变量(或表达式)的内容,所以在do…while循环中赋值循环控制变量的工作要由自己来做,
再回到步骤2重新判断是否继续执行循环。
01 // 以下程序说明了do...while循环的使用
02 public class TestJava3_29
03 {
04 public static void main(String[] args)
05 {
06 int i = 1 ,sum = 0 ;
07 // do.while是先执行一次,再进行判断。即,循环体至少会被执行一次
08 do
09 {
10 sum += i ; // 累加计算
11 i++ ;
12 }while(i<=10);
13 System.out.println("1 + 2 + ...+ 10 = "+sum); // 输出结果
14 }
15 }
输出结果:
1 + 2 + ...+ 10 = 55
首先,声明程序中要使用的变量i (循环记数及累加操作数)及sum(累加的总和),并将sum设初值为0;由于要计算1+2+…+10,因此在第一次进入循环的时候,将i的值设为1,接着判断i是否小于等于10,如果i小于等于10,则计算sum+i的值后再指定给sum存放。i的值已经不满足循环条件时,i即会跳出循环,表示累加的操作已经完成,再输出sum的值,程序即结束运行。
程序说明:
1、 第08~12行利用do…while循环计算1~10的数累加
2、 第13行,输出1~10的数的累加结果:1 + 2 + ...+ 10 = 55 do..while循环不管条件是什么,都是先做再说,因此循环的主体最少会被执行一次。在日常生活中,如果能够多加注意,并不难找到do…while循环的影子!举例来说,在利用提款机提款前,会先进入输入密码的画面,让使用者输入三次密码,如果皆输入错误,即会将银行卡吞掉,其程序的流程就是利用do…while循环设计而成的。