首先,while语句判断返回一个布尔值的exdivssion表达式,如果返回值为true,则执行下面语句,之后再测试exdivssion表达式再执行语句,以此往复,直到exdivssion表达式返回false为止。
do-while语句与while语句非常相似,语法是:
do {
statement(s)
} while ( exdivssion );
与while语句在循环顶部判断表达式真假值不同,do-while语句在底部判断,从而,do-while语句至少执行一次内部的代码。
下面看看猜数字游戏的主体部分:
// 记录玩家猜测的次数
int counter = 0;
System.out.println("我心里有一个0到99之间的整数,你猜是什么?");
do {
try {
// 获取玩家的输入
guess = Integer.parseInt(input.readLine());
} catch (NumberFormatException e) {
// 如果玩家不是输入一个合法的整数,则让他重新输入
System.out.println("请输入一个0-99之间的整数!");
continue;
} catch (IOException e) {
System.out.println("程序发生异常错误将被关闭!");
e.printStackTrace();
}
// 对玩家的输入进行判断
if (guess > number)
System.out.println("大了点,再猜!");
if (guess < number)
System.out.println("小了点,再试试!");
// 计数器增加一
counter++;
} while (guess != number);
首先定义了一个counter变量来记录玩家猜测的次数,并直接初始化为0。在打印一行游戏提示以后,便开始一个do-while语句。
在do-while语句中,首先用异常处理语句获取玩家的输入,如果玩家输入不合法,提示以后用continue语句从头重新执行循环语句,等待玩家的输入。从而,guess变量一定包含一个合法的整数。之后要对玩家的输入进行判断。如果玩家的猜测太大或者太小,都做出提示。接着把计数器增加1,表示玩家做过一次猜测。最后便是do-while语句的判断:当玩家猜测的数字和随机产生的答案不同,则再次进入循环,否则便结束循环,执行下面的代码。
最后提醒一句,别忘记用Eclipse的Alt+/快捷键帮助编写do-while语句哦!
switch语句
switch语句是基于整型表达式的条件判断语句,猜数字用它来进行成绩判断:
// 判断成绩
switch (counter) {
case 1:
System.out.println("东渐……快来看上帝……");
break;
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
System.out.println("这么快就猜对了,你很smart啊!");
break;
default:
System.out.println("猜了半天才猜出来,小同志,尚须努力啊!");
break;
}
可以看出,switch语句是和若干case语句和一个default语句搭配使用的。代码中的switch语句用counter变量的值进行判断。当counter的值为1时,便执行case 1里面的语句,即打印“东渐……快来看上帝……”的字样,随后的break语句表示整个switch语句执行到这里结束了。当counter的值为2时,便执行case 2里面的语句。可以发现case 2到case 6都没有break语句,这表示依次执行下面的语句,从而counter的值为2至7时,都打印“这么快就猜对了,你很smart啊!”字样。当counter的值不是1至7时,便执行default语句,打印鼓励的话语。
Just Do It
想想看怎样编写一个会玩猜数字游戏的Java程序呢?
小结
这是Java咖啡馆开张以来最漫长的一回,涉及的知识面很广,希望你能够感到充实而不是烦琐。此外,自己动手编写几个小程序是最好的练习方法。Eclipse是良师益友,有什么问题都会及时通知你,有时还会附上解决方法,希望你善加利用,不要辜负一片心意哦。