图书前言

前 言

  Java程序设计是高等院校电子信息类学科各专业的核心专业基础课程,是培养学生面向对象程序设计能力的主干课程之一,在计算机学科的教学中非常重要。

1995年5月,Sun Microsystems公司推出的Java语言是一种令人激动的新型语言,它具有面向对象、平台无关、可移植性强、安全、支持分布式等诸多特征,特别适合网络编程。目前Java语言已成为高校学生学习面向对象程序设计的必选语言。

2004年9月,Sun发布了J2SE 1.5,是Java语言发展史上的一个里程碑,同时将J2SE 1.5更名为J2SE 5.0. 2005年6月,JavaOne大会召开,Sun将Java版本及其平台更名,取消了其中的数字“2" , J2EE更名为Java EE, J2SE更名为Java SE, J2ME更名为Java ME, JDK 1.6更名为Java SE6。因此,本书也由原来的《Java2简明教程(第2版)》更名为《Java简明教程(第3版)》. 2009年4月,世界一流的数据库软件商Oracle公司收购了Sun公司,我们在本书中称Java是Oracle公司的产品。

从程序设计语言的发展历史来看,Java语言是在C++语言之上推出的新一代语言,其语法与C++语法相似,但剔除了C++中易于出错的成分。Java增加了诸如内存自动回收之类的新功能,删去了C++中令人费解的、不常用的成分,如指针和运算符重载等。Java从问世以来,很快流行于全世界,并获得了极大成功。目前,许多软件项目已选择Java语言作为其编程语言,特别是计算机网络方面的软件。

本书前2版受到了大量读者(高校教师、大学生、程序员等)的热烈欢迎,他们在使用的过程中,给作者提出了一些很好的意见和建议,在此,作者表示深深的感谢。

在本书再版的过程中,张凤林修订了本书的1~4章,其余的由皮德常修订,全书由皮德常通稿。作者的研究生张伟、姚明宇、刘闯和江敏等人为本书做了大量的资料收集和程序验证工作。

本书与前版相比的改进之处

(1) 在程序编排上,采用了“程序举例→程序运行结果→程序解析”统一风格,使读者能一目了然地找到关键点。  (2) 增加了泛型程序设计。泛型程序设计意味着编写的代码可以被很多不同类型的对象重用,它使得Java程序具有更强的可移植性。

(3) 增加了针对数据库的编程以及综合应用设计,给出了一个针对Access数据库编程的综合举例。为读者采用Java语言进行课程设计和项目研发打下了坚实的基础。

(4) 将原书第11章GUI布局管理器和第12章事件处理进行了重新组合。原来在第11章讲解布局管理器的设置,在第12章讲解了针对组件的编程。在实际教学中,发现这样组织教材有点相分离,在新版中,对这两个章节进行了重组。

(5) 依据最新版JDK 6.0,新版教材增删了部分内容。针对Java语言近几年的进展,新教材与时俱进,与前面的JDK 5.0相比,本书根据JDK 6.0的变化,增删改了许多细微的知识点,并采用醒目的标注方式给出了解释。

本书特点

1. 抓重要概念

Java编程属高等院校计算机相关专业的学生要学习的一门专业课,一般安排在C/C++课程之后学习,理论教学的学时往往比较少,本科教学大多是36学时,大专教学是48学时。在如此少的学时内,教师不可能讲授完Java的所有知识,只能抓住重点内容进行介绍。针对这种情况,本书突出了Java与C/C++的不同之处,对这些语言的共性点不作详细介绍,仅仅讲授Java的核心内容,这不但便于读者学习和掌握,同时也便于教师讲解。

2. 舍弃次要内容

考虑到Java课程的学时安排,以及Java与C/C++之间的关系,本书对Java开发工具的应用、基本数据类型、运算符、控制语句和类库,都没有作过多的讨论。例如,Java中的基本数据类型、运算符及控制语句等内容与C/C++类似,因而只是作了简单的介绍;另外,由于Java类库十分庞大,因此本书仅对常用的类库进行了介绍。

3. 力求培养学生的思考能力

本书就Java的一些实现技术进行了讨论和分析,并介绍了实现内幕。例如,作者结合自己的理解,分析了实例变量和方法的多态性问题(见第4.9节);结合String和StringBuffer类,分析了“+”号操作的实现内幕(见第6.3.3节)。这些内容对培养学生的思考能力提供了一定的帮助,有助于培养他们勤于思考,勇于实践,敢于创新的能力。

4. 以最新的Java SE为标准

本书采用最新版本的JDK 6 Update 21(简称JDK 6)和非常优秀的NetBeans IDE 6.9.1作为Java程序设计的开发环境,读者均可从Oracle网站免费下载。

NetBeans IDE 是一个可用于 Windows、Mac、Linux 和 Solaris平台上的集成开发环境,通过该环境读者可以使用Java平台以及JavaFX、JavaScript和C/C++等语言快速创建Web、企业、桌面和Mobile应用程序。

5. 突出与C/C++的异同点

如前所述,Java课程往往安排在C/C++课程之后。为了便于读者对Java的理解和掌握,本书在内容编排上突出了Java与C/C++的异同点,以免读者误解Java的知识点,做到快速掌握Java编程的核心思想。

6. 力求通俗易懂

编写本书的目的是让读者通过自学或在教师的指导下,学会运用Java进行面向对象的程序设计。因此,本书围绕如何进行Java编程展开。为了便于读者学习,作者力求使本书的语言通俗易懂,将复杂的概念采用浅显的语言来讲述,便于读者理解和掌握。

本书的编排特点

 每章开始均点明本章要讲解的内容和学习要求。

 每章结束时,都进行了小结,给出了该章内容的概括性描述,并对该章的知识点进行了归纳。

 每章安排的习题都具有很强的操作性,读者可通过计算机进行练习。

 书中重要的内容采用黑体标记,特别重要的内容采用下面加点的方式标记。

 本书强调程序的可读性。书中的程序全部采用统一的程序设计风格。例如,类名、方法名和变量名的定义做到“见名知义”;左大括号和右大括号对应,并采用缩排格式组织程序代码;此外,对程序中的语句尽可能多地进行了注释。

 强调程序的可移植性,不以某个Java开发工具为标准,而是以最新JDK 6.0为标准。

 本书包含了大量的程序示例,并给出了运行结果。凡是程序开头带有程序编号的程序,都是完整的程序,可以直接在计算机上编译运行。

 本书采用了醒目的标记来显示知识点。这些标记包括“注意”和“思考”,它们穿插在全书中,能帮助读者尽快找到重要的信息。这些标记的含义如下:

【注意】 值得读者关注的地方,它们往往是容易混淆的知识点。

【思考】 提出问题,引导读者思考,培养思考能力。创新从“问号”开始。

教学支持

本书的电子教案是采用PowerPoint 2003制作的,可以在讲课时用多媒体投影演示,这部分可取代板书。教师不仅可以使用本教案,还可以方便地修改和重新组织其中的内容以适应自己的教学需要。使用本教案可以减少教师备课时编写教案的工作量,以及因板书所耗费的时间和精力,从而提高单位课时内的知识含量。  我们向使用本教材的教师免费提供本书的电子教案和全部程序示例源码,需要本书习题参考答案的教师请在www.tup.tsinghua.edu.cn网站上获取《Java简明教程(第3版)》的参考答案。为了更好地为您服务,请在邮件中附上姓名、工作单位、地址、联系电话、主讲课程等信息。

感谢读者选择本书,欢迎对本书的内容提出批评和修改建议,作者将不胜感激。

作 者2011年1月