第一篇:(1)叹咖啡
第二篇:(2)第一杯咖啡
第三篇:(3)Eclipse
第四篇:(4)品味第一杯咖啡
第五篇:(5)java语言基础
上一回我们讲解了Java语言基础,篇幅所限,仅仅包含相当有限的Java语法知识。本期我们将在上回基础上编写一个猜数字的游戏,进一步学习Java语言基础知识。
猜数字游戏你肯定玩过猜数字游戏—游戏随机给出一个0至99(包括0和99)之间的数字,然后让你猜是什么数字。你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,最终推出答案(我们提供了完整代码,点击这里下载)。(见图1)
游戏设计首先搭建Java程序框架。打开Eclipse,新建名为GuessNumberGame的项目,然后新建名为GuessNumber的Java类。别忘记给GuessNumber加上合适的javadoc。
第一步:随机数的产生
我们可以借助Java API提供的Random类来产生一个随机数。
首先在main函数中加入以下三行代码:
// 新建一个随机数产生器,然后生成一个0到99之间的整数。
Random random = new Random();
int number = random.nextInt(100);
不出所料,Eclipse就像语文老师一样,立即在错误语句处划出红线,把鼠标移动到红线上,可以看到具体出错信息(见图2)。
包(Package)的概念
Java API中包含了极其丰富、类似于Random这样由Sun预先定义好的类(Class,假如忘记相关概念,请参考第四篇连载—《品味第一杯咖啡》),与变量作用域的问题一样,不同包中可以有同名同姓的类,假如没有包的概念,就会碰到命名冲突问题。此外,包还能进行安全控制,你可以规定哪些类可以被包外部调用,哪些不可以。
Random类是在java.util这个包中。可以手动在源程序顶部输入import java.util.Random;语句来申明该程序将要使用java.util包中的Random类,然而有了Eclipse,就不用那么麻烦了—把光标移动到有红色波浪线的Random上,然后按下Ctrl+Shift+M,Eclipse会自动帮你完成导入的工作了。此时保存一下源代码,警告是不是消失了?希望你牢记这个快捷键的用法,在开发大型项目时,再好的脑子也无法牢记每个类所在的包的名字,有了Eclipse的鼎力相助,偷个懒也没问题。
语句翻译
第一句定义了一个类型是Random类的变量random(Java语言区分大小写,所以Random和random是两回事儿),并且用new操作符生成一个Random类的实例赋给random变量。还记得我们上期连载说到变量还有一种引用类型吗?这就是一个例子。random变量实际上是一个参照,指向内存中用new操作符新建的Random类的实例。说起来很拗口,大多数情况下可以把random直接看做是一个Random类的实例,可以通过“random”加上“.操作符”来调用Random类的方法,比如用random.nextInt(100)来获取一个0至99之间的随机数。
第二句语句定义一个整型变量number来保存随机产生的整数,并且用直接初始化的方法把random产生的随机数赋给number变量。
第二步:标准输入输出
标准输入输出(Standard I/O)是指可以被应用程序使用的信息流。比如,应用程序可以从标准输入(Standard input)读取数据,向标准输出(Standard output)写数据,把出错信息发送到标准错误(Standard error)。通过输入输出,应用程序和应用程序之间可以被串联起来使用。虽然标准输入输出是从UNIX发展出来的概念,在Windows中也广泛应用,假如你熟悉DOS,这个概念自然不生疏。