一、 版次说明
本书第1版于2006年出版。第2版是在第1版的基础上,广泛听取了读者和同行的建议,参考了最新的资料,增加了Java 5及Java 6语言的新内容,并根据作者本人在授课过程中的经验而形成的。
二、 本书的作者及编写背景
这是一本面向广大初学者的入门教材,是本系列《C++语言程序设计》的姊妹篇,该书自1999年第1版出版以来,已经出版了4版,在清华大学等数十所大学的不同专业中使用,取得了良好的教学效果。与《C++语言程序设计》一样,本书同样是基于作者多年来在清华大学讲授“Java语言程序设计”的经验,以及作者本人的研究和开发经验编写的。本书的主要作者均为讲授“Java语言程序设计”课程教授,参与编写的其他作者均为该课程助教。
Java语言是应用最广泛的面向对象的程序设计语言之一。面向对象的程序设计方法将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体--对象。对同类型对象抽象出其共性,形成类。这样,程序模块间的关系简单,程序模块的独立性、数据的安全性具有良好的保障,通过继承与多态性,使程序具有很高的可重用性,使得软件的开发和维护都更为方便。
面向对象方法的出现,实际上是程序设计方法发展的一个返璞归真过程。软件开发从本质上讲,就是对软件所要处理的问题域进行正确的认识,并把这种认识正确地描述出来。面向对象方法所强调的基本原则,就是直接面对客观存在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。由于面向对象方法的突出优点,目前它已经成为开发大型软件时所采用的主要方法。
除了面向对象以外,Java语言的另一个突出特点是与平台无关,可以实现一次编写、各处运行。因此Java被广泛用于网络应用程序开发,以及各种电器设备的嵌入系统。
从语法上看,Java语言与C++语言一样,都是以C语言的语法为基础。那么,学习Java语言是否应该首先学习C语言呢?不是的,虽然Java语言借鉴了C语言的语法,但是Java本身是一个完整的程序设计语言,而且它与C语言的程序设计思想是完全不同的。因此,Java语言是可以作为程序设计的入门语言来学习的,这正是本书的定位。学习本书并不要求读者有C语言基础,但是有一定基础的读者学习起来会感觉更容易。
三、 本书的特色
本书的特色是内容全面、深入浅出、立体配套。
本书将Java语言作为大学生的计算机程序设计入门语言,不仅详细介绍语言本身,而且介绍面向对象的设计思想和编程方法、UML建模语言、图形用户界面的编程方法、网络和数据库程序的编程方法、线程的使用、Java集合框架等实用开发技术。全书以面向对象的程序设计方法贯穿始终,基础性和实用性并重。宗旨是,不仅要使读者掌握Java语言本身,而且要能够对现实世界中较简单的问题及其解决方法用计算机语言进行描述。当然,要达到能够描述较复杂的问题域还需要学习面向对象的软件工程课等其他课程。
针对初学者和自学读者的特点,本书力求做到深入浅出,将复杂的概念用简洁浅显的语言娓娓道来。读者还可以通过配套的《Java语言程序设计学生用书》,在实践中达到对内容的深入理解和熟练掌握。
为了方便教师备课,本书配有《Java语言程序设计教师用书》,包括电子教案(PPT文件)、教学要点、考试样题等。
四、 内容摘要
第1章 Java语言基础知识: 作为全书的开篇,本章首先介绍面向对象程序设计的基本概念和Java语言的特点并简单介绍了Java 5 和Java 6的新特色;通过几个简单而典型的例子使读者对Java程序有个感性认识;然后详细介绍Java的基本数据类型和表达式;最后讲解数组的概念、创建和引用。
第2章 类与对象的基本概念: 主要介绍类与对象的基本概念、类的声明、对象的生成与销毁、类的组织,最后简要介绍了统一模型语言UML.
第3章 类的方法: 介绍方法的流程控制和异常处理机制,以及在方法中执行脚本的方法。
第4章 类的重用: 介绍与类的重用有关的内容,包括类的继承、Object类、终结类与终结方法、抽象类、泛型、类的组合,以及Java包的应用。
第5章 接口与多态: 介绍Java的接口、多态性的概念及实现方法。
第6章 输入输出: 概要介绍基本的输入输出流类,重点介绍最常用的文件读写方式。
第7章 对象群体的组织: 介绍以对象数组组织对象群体的方法,概要介绍Java的集合框架,并对常用的集合类Vector、ArrayList、HashTable、HashMap,以及与集合类一同使用的Enumeration及Iterator类进行详细介绍。
第8章 多线程: 介绍线程的概念,以及如何创建和使用线程等问题。
第9章 图形用户界面: 介绍Swing的基础和主要特点、使用方法,容器的层次结构,布局管理,以及如何在Java Application和Java Applet中引入图形用户界面。
第10章 JDBC与数据库访问: 首先介绍数据库的基本概念,以及基本SQL语句的使用,然后介绍在Java程序中如何实现对数据库的操作,最后介绍Java 自带数据库Java DB的操作。
第11章 Servlet程序设计: 首先对与网络相关的概念进行简单讲解,然后简单介绍Java语言Servlet程序的开发方法。
第12章 JSP程序设计: 介绍JSP的基本概念和语法,JSP与Java Bean的结合,标签库的应用,以及Web应用程序的MVC架构、Web服务相关内容。
五、 使用指南及相关资源
作者本人使用本书授课时的讲课学时数为32学时,实验学时数为32学时,课外上机学时数为32学时,课内外共96学时,每学时45分钟。
与本书配套的教材有: 《Java语言程序设计(第2版)学生用书》、电子版教师资源。
本书内容是在第1版基础上修订的,因此第1版的主要作者马素霞、王行言仍为本书的主要作者。参加本书编写工作的还有杜彬、廖学良、刘兆宏、李超、李玉山、徐骏、许磊、张超、张新钰、王朝卿。
感谢读者选择使用本书,欢迎您对本书内容提出意见和建议,我们将不胜感激。来信标题请包含“Java book" .
作 者2011年5月 于清华大学