do-while循环与while循环的不同在于:它先执行循环体中的语句,然后再判断条件是否为真。如果为真则继续循环,如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。同样当有许多语句参加循环时,要用“{”和“}”把它们括起来。
do-while循环的一般语法是:
do{
语句;
}while(条件)
注意:在do-while语句的表达式后面必须加分号。
示例1:编写一个猜数游戏,要求猜一个介于1—10之间的数字,根据用户猜测的数与标准值进行对比,并给出提示,以便下次猜测能接近标准值,直到猜中为止。
在D盘Java目录下,新建“GuessSample.java”文件。用记事本打开“GuessSample.java”文件,输入以下代码:
代码结构分析
程序功能主要是演示do-while循环语句的使用。
程序内部设置一个标准值(答案)存储到变量number中,并声明一个guess变量接收用户猜测的数值。采用do-while结构可以确保用户至少能进行一次猜数操作,在循环体内,提示用户输入要猜的数,用户输入猜测的数值后,利用if-else语句和正确答案进行判断,如果用户猜测的数值大于答案,提示用户数太大;如果用户猜测的数值小于答案,提示用户数太小。while语句后面的表达式( guess != number )用于判断循环条件是否满足,如果用户输入的数值和答案不相等,该表达式返回的结果为真,继续执行循环体,要求用户根据提示继续猜数,否则,表达式返回的结果为假,循环条件不满足,程序不再执行循环体,直接执行循环体后面的语句。
编译“GuessSample.java”文件,在命令行窗口输入“javac GuessSample.java”并执行命令,编译通过后,在命令行窗口输入“java GuessSample”运行Java程序,命令行窗口显示如下信息:
图 8—6 示例1猜数游戏输出结果
从上述结果可以看出,输入的数值与答案不相等时,程序给出相应提示,并继续执行循环。当用户输入的数值与答案相等时,程序不再执行循环,并输出猜中的答案。
do-while语句是一种先执行循环体,然后判断条件的结构,即只有在循环体中的代码执行之后,才会判断循环条件。总的来说,循环结构在开始执行的时候,先执行循环体内的代码,然后通过while里面的条件进行判断,条件成立就继续执行循环,不成立就跳出循环,循环体内代码至少被执行一次。
小明将10000元钱存入银行,银行的年利率为10%,如一直不取出,问按照复利的计算方法,至少经过多少年小明才能拿到150000元。
提示:
第一年本金带利息的计算公式为:S 1=10000 * (1+0.1)
第二年本金带利息的计算公式为:S 2= S 1 * (1+0.1)
第三年本金带利息的计算公式为:S 3= S 2 * (1+0.1)
………
第n年本金带利息的计算公式为:S n= S(n-1) * (1+0.1)
根据上述公式可知,应用do-whiel结构可以求出n年后的应收本金和利息,循环条件为n年后的应收本金和利息小于150000元,当n年后的应收本金和利息大于150000时,该n就是应求的年数。