图书前言

Java语言程序设计(第2版)计算机程序设计是一门实践性很强的课程,因此仅通过阅读教科书或听课是不可能完全掌握的,学习程序设计的最重要环节就是实践。对于自学者来说,由于在学习和实践过程中缺乏指导,困难更多一重。

凡是学习程序设计的人,往往有这样的感觉: 看书或听课时,对书上写的和老师讲的内容基本上都能够理解,但是,当需要自己编程时却又无从下手。相信每一个讲授程序设计课程的教师也有过这样的经历: 有些问题,尽管我们在课堂上再三强调,反复举例,学生还是不能够完全理解,上机时更是错误百出。应该说,这是学习过程中的必然现象。

要想把书本上的知识变为自己所具有的能力,所需要的是实践、实践、再实践。在实践环节中,起主导作用的是学习者自己,旁人是无法代劳的,也不能期望有什么一蹴而就的捷径。但是,由于学生在实践过程中不能随时随地得到指导,因此需要花费时间较多,感觉程序设计课作业负担太重,有的学生甚至因为花四五个小时调不通一个简单的程序而失去了学习兴趣。

本书是与《Java语言程序设计(第2版)》配套的学生用书,目的就在于为读者的学习提供一些指导,为提高读者的编程能力助一臂之力,使读者在实践过程中少些曲折和彷徨,多些成功的乐趣。本书出版之前已经在清华大学  "Java语言程序设计”课中试用,取得了良好的教学效果。

本书给出一个简要的“学习指南”,各章内容与主教材《Java语言程序设计(第2版)》相对应,每章内容分为三部分: 第一部分是“要点导读”,主要为自学者指明学习重点,建议学习方法;第二部分是“实验指导”,每章都有一个精心设计的实验,与《Java语言程序设计(第2版)》相应章节内容配合,使读者在实践中深入理解和熟练掌握主教材的内容,每一个实验都包括“实验目的”、“实验任务”、“实验步骤”,实验的完整参考程序可从出版社网站上下载;第三部分是习题解答,给出了《Java语言程序设计(第2版)》各章习题的参考答案,每个题目可能有多种解法,这里仅给出一种参考解法。

本书的习题解答和实验内容,不仅可以指导读者上机练习,也可以由教师选做例题在课上演示,使教学内容更加丰富。如果读者没有足够的时间一一做完全部习题和实验,可以将剩下的题解作为例题阅读也不失为一种好的选择。

本书主要由郑莉、廖学良编写,参加本书编写工作的还有杜彬、马素霞和王行言。

作 者2012年1月于清华园

《Java语言程序设计(第2版)》学习指南Java语言程序设计(第2版)学生用书《Java语言程序设计(第2版)》学习指南

《Java语言程序设计(第2版)》是针对初学Java语言的读者编写的入门教材,预期的读者主要有这样几类: 初学Java语言的自学者、以此为Java课程教材或参考书的在校学生、Java课程教师。这里首先给出学习本套教材的总体建议,在本书的后续各章中还会有详细的导读。

1. 主教材《Java语言程序设计(第2版)》的学习方法

对于主教材的学习,读者需要时刻牢记两点: 面向对象的编程方法;查阅Java API手册,掌握主教材中出现的包、类、方法,并了解API中的其他包、类、方法。

具体来说,对于自学读者,在阅读教材时,应该边阅读、边实践。如果对于教材中的某些概念、语法存有疑问,应该立即编写程序以验证。对于教材中的例题,应该先尝试进行编程,之后再看教材的答案。教材中出现的包、类,都应该通过Java API手册了解其主要的功能,并掌握主要方法的功能。所谓熟能生巧,一些API在看多了之后,自然而然就知道其功能了。在完全理解了主教材内容以后,再开始做实验和习题。

对于在校学习Java课程的学生,应按照教师讲课的进度,提前预习教材。所谓预习,并不是要完全看懂,如果都看懂了,就不必听课了。预习的目的是大致浏览一下新的内容,了解哪些是难点、重点,听课时就比较主动。下课之后要及时复习,然后再写作业。复习时要边看书边看笔记,这时一定要认真阅读书上的内容,并同时查看Java API手册,掌握书上用到的类及其方法的用法。教师可能不会在课堂上讲解书中的每个例题,对于教师课上讲的例题和书上的例题,课后复习时都要阅读、上机实践,达到完全理解,并具备自己独立编写例题程序的能力。做到这些以后,再开始写作业。

当然,这只是针对大多数读者的一般的建议,每个人还要根据自己的情况选择适合的方法。

2. 学生用书的使用方法

每学习一章主教材内容,都应该及时通过实验和习题巩固知识、提高实践能力。学生用书中的实验,是针对主教材每一章的重点内容设计的最基本的实践任务,有详细的实验指导,很容易入手,应该首先完成。完成实验之后,可以根据自己的时间和教师的要求,选择部分或全部习题来做。

本书给出了全部习题的答案,是为了方便没有教师指导的自学读者。但是不少读者在没有深入思考之前就急于看答案,这是有害无益的,这样做不仅不能真正提高自己的编程能力,还会扼杀自己的创造性思维能力。特别是对于答案代码较多的习题以及第6章之后的习题,因其具有较好的应用性,应该自己先编程,这样才能真正掌握知识。自学读者纷纷来信欢迎习题解答,而大多数教师(包括我自己)都不希望学生看到习题解答。这个矛盾困扰了我很久,始终没有找到两全的解决方案。所以只好在这里给出建议。

当然,有些章的习题较多,如果没有时间全部做完,也可以将一部分习题解答作为例题来学习。值得强调的是,当看到自己不熟悉的类或者方法时,还是要查阅API手册,了解其功能,并能在之后的编程中使用。

3. 本套教材的思路与使用要点

本套教材是针对已经先修过C/C++语言的读者的。前5章基本上是讲解Java语言的语法以及面向对象编程思想;从第6章开始,讲解了一些常用的专题。各专题中用到大量Java API,读者需要学会自己查阅API文档,这也是编写Java程序需要具备的基本能力。