Java核心技术卷I基础知识(原书第9版)
上QQ阅读APP看书,第一时间看更新

3.8.3 循环

当条件为true时,while循环执行一条语句(也可以是一个语句块)。常用的格式为

图3-10 while语句的流程图

如果开始循环条件的值就为false,则while循环体一次也不执行(请参看图3-10)。

程序清单3-3中的程序将计算需要多长时间才能够存储一定数量的退休金,假定每年存入相同数量的金额,而且利率是固定的。

在这个示例中,增加了一个计数器,并在循环体中更新当前的累积数量,直到总值超过目标值为止。

(千万不要使用这个程序安排退休计划。这里忽略了通货膨胀和所期望的生活水准。)

while循环语句首先检测循环条件。因此,循环体中的代码有可能不被执行。如果希望循环体至少执行一次,则应该将检测条件放在最后。使用do/while循环语句可以实现这种操作方式。它的语法格式为:

图3-11 do/while语句的流程图

这种循环语句先执行语句(通常是一个语句块),再检测循环条件;然后重复语句,再检测循环条件,以此类推。在程序清单3-4中,首先计算退休账户中的余额,然后再询问是否打算退休:

只要用户回答“N”,循环就重复执行(见图3-11)。这是一个需要至少执行一次的循环的很好示例,因为用户必须先看到余额才能知道是否满足退休所用。

程序清单3-3 Retirement/Retirement.java

程序清单3-4 Retirement2/Retirement2.java