本习题集是同作者所编写的清华大学教材《Java程序设计》相配套的习题集。习题集内容覆盖面广,包括: Java语言的基本常识、基础语法、面向对象的基本概念、数组、字符串、异常处理、文件和数据流、图形用户界面设计、小应用程序、线程、编程规范、网络程序设计、多媒体与图形学程序设计以及数据库程序设计等。全书共分为习题、参考答案和测试要点与解题说明3个部分。习题包括判断正误、填空题、选择题、简答题、编程题和趣味题等6种题型,并按难易程度分成3个等级,采用星号注明。本习题集收集了Java程序编写常见问题,并以习题形式总结和归纳Java程序设计知识要点,同时兼顾了SCJP(Sun公司Java程序员认证考试),从而降低学习难度,减少编写程序出现错误的机会,也便于掌握各个知识要点或测试对Java程序设计的掌握熟练程度。这些特点有利于初学者在学习过程中少走弯路。对知识点的总结以及内容的全面性也使得本书具有一定的手册特性,非常适合于复习,同时也方便教师出题,使得各章节的试题容易在试卷中分布均匀合理。在本习题集中的编程题和趣味题还有可能采用其他计算机语言实现,从而本习题集也有可能成为学习其他计算机语言的实践素材。
自完成教材《Java程序设计》并由清华大学出版社出版以来,一直得到学生的好评,以及同行教师与Java爱好者的支持与鼓励。他们的支持与鼓励同时也是一种鞭策,促使自己不断努力。在此期间,很多朋友希望能早日看到其配套习题集。习题的收集与编写经历了很长的一段时间。一方面一直希望习题集能够符合“双快”(快速与快乐)的学习方式,另一方面也一直担心习题集的任何不足给读者造成损失。
学习Java程序设计的窍门是自主性思考与实践,而好的习题则是通往此“窍门”的一把钥匙。为此,本书收集了编写Java程序的常见问题,并以习题形式总结和归纳Java程序设计知识要点,使得习题能较全面覆盖各个知识要点。同时参考SCJP(Sun公司Java程序员认证考试)的考题或模拟题,便于为SCJP复习准备。当然,本书编写的目的并非为了应付考试,主要还是希望读者能通过本书更快地掌握Java程序设计方法,解决实际问题。本书还隐含着学习Java程序设计的技巧,即通过恰当的编程实践来理解与学习Java程序设计的知识要点。独立地进行实践是掌握一门计算机语言必须经历的过程,部分习题尤其是编程题与趣味题的解答与解题的思路常常可以不惟一,因此本书在编写部分习题答案时非常慎重,同时也希望读者不拘泥于编程题与趣味题的习题答案。所有习题源程序都在Java 1.5版本(也称为5.0版本)上编译运行。
清华大学的研究生卢建彪、晓宇、古锐、戴锋、解宏伟、蔡维佳、占国强、郭飞、刘勇、阎月和梁科等同学,以及本科生刘颖等同学参与了本习题集原始资料的收集、分析、设计与编写; 清华大学的研究生卢建彪、林鸿维、岳子义、马云华、王治中、郑志彤、刘硕、孟颖达、佟强和高扬等同学,以及本科生叶星遥、陈先文、王晓光和曹嵩等同学参与了本书的校对工作。本书也凝聚了他们的劳动结晶。本书在习题收集、编写与出版的过程中得到了许多朋友的帮助,这里一并对他们表示诚挚的谢意。由于水平与时间所限,书中可能存在一些错误和缺陷,恳切希望广大读者特别是讲授此课程的老师批评指正。作者个人主页为http://cgcad.thss.tsinghua.edu.cn/~yongjh/chn/index.html。也恳切希望能够通过Email: yongjunhai@tsinghua.org.cn得到关于习题集的好意见或好建议。
雍俊海
于清华园
2005年10月10日
第一部分习题
第1章绪论
第2章结构化程序设计
第3章面向对象程序设计
第4章数组、字符串与异常处理
第5章文件与数据流
第6章图形用户界面设计
第7章小应用程序
第8章多线程程序设计
第9章编程规范
第10章网络程序设计
第11章多媒体与图形学程序设计
第12章数据库程序设计
第二部分参考答案
第1章绪论
第2章结构化程序设计
第3章面向对象程序设计
第4章数组、字符串与异常处理
第5章文件与数据流
第6章图形用户界面设计
第7章小应用程序
第8章多线程程序设计
第9章编程规范
第10章网络程序设计
第11章多媒体与图形学程序设计
第12章数据库程序设计
第三部分测试要点与解题说明
第1章绪论
第2章结构化程序设计
第3章面向对象程序设计
第4章数组、字符串与异常处理
第5章文件与数据流
第6章图形用户界面设计
第7章小应用程序
第8章多线程程序设计
第9章编程规范
第10章网络程序设计
第11章多媒体与图形学程序设计
第12章数据库程序设计
参考文献