图书前言

再 版 说 明

本书第1版自2009年2月出版以后,经国内数十所大学使用,受到众多好评,并列入了普通高等教育计算机规划教材。本版对全书内容进行了修订和补充,修订量大约达到了50%,修改了一些错误和过时的内容,并加入了一些Java 7中推出的新语法和新知识,例如加入了枚举、自动装箱和拆箱、资源型try语句,在GUI图形界面的内容上注重Swing包的介绍和使用,同时加大了习题量,并根据每章内容,在每章最后给出两个较为完整的程序建模示例程序,以帮助同学们很快地过渡到实践编程。

另外,根据作者二十多年的教学经验,同学们虽然学习了很多计算机硬件和软件知识,也学习了许多程序设计语言,但是到了毕业,多数同学还是不能独立地完成一个简单的程序设计或软件制作。这说明我们的计算机语言教学偏离了实践,过分注重理论和分析。本版中我们在Java语言基本的语法基础上强化程序理论体系的讲述,给出了一套具体的指令、程序和进程的定义,并指出程序和能量之间的关系,进而提出了“能量+代码=世界”这样一个哲学命题,将程序代码和数据代码的设计提高到哲学层面,使学习者能够较为准确地定位自己的位置,即未来的程序设计者、使用者和维护者。同时在本书中还强化了程序建模的思想和技巧,使学习者摆脱了烦琐的流程分析,更能够关注局部的代码设计或全局的代码抽象理念。

本书对原版中的部分章节内容进行了调整,去掉了每一章后面的课外阅读,将原版中的第9章调到最后,另外,用*号标出的章节建议同学们自主学习。本书坚持原版的指导思想,面向培养工程应用型人才的一般中职院校,以及满足一般高等院校学生掌握Java语言面向对象程序设计的教学需要。

希望广大读者对本书的不足给予指正,支持我们把本书修改得更加适用,批评建议可直接电邮。

马俊

2014年6月14日

前言

计算机的出现改变了我们的生活方式、学习方式,作为一个现代人,即便是在偏僻山区的农村,人们也开始知道键盘、手机、计算机等基本概念,互联网的出现和普及使得计算机参与到了我们工作、生活的方方面面,如果不接触计算机、不使用计算机,一些工作将会难以完成,甚至无法进行。对计算机的使用主要是对软件的使用,从银行的存取款、超市的收银和管理乃至学校的选课等到处都是计算机的软件程序在工作。

计算机软件是由程序设计语言设计而成的,我国的程序员缺口一直很大,按照高等院校计算机专业的培养目标,应用开发是其应具备的基本能力。目前,应用开发主要集中在两个方向,一个是高端的基于企业级的分布式程序的开发和部署,另一个是面向手机、PDA等嵌入式设备的程序开发,不论哪一个都和网络分不开。Java语言在这些领域都有非常流行和非常成熟的开发框架和技术,在计算机语言的排行榜上,Java语言已经连续十几年排在第一名或第二名的位置,正因为如此,Java语言已经成为高等学校计算机相关专业的基础专业课程。

本书首先给出了指令、程序和进程的基本定义,主要讲述了面向对象程序设计原理,Java语言的基础内容和编程的基本思路。本书针对计算机相关专业方面的中职、专科、本科学生编写,在内容的选择上进行了适当的考虑,部分建模程序也可以作为计算机相关专业的研究生的参考资料。全书共分12章,第1章主要介绍了程序的定义和程序设计语言的概述,通过抽象将计算机程序的概念推广到生命领域、军事领域,指出了指令、程序和进程的关系,给出了程序和能量的基本关系,最后介绍了Java程序的开发环境和开发步骤等; 第2章重点讲述了Java语言的关键字、基本数据类型和程序的控制结构等内容; 第3章、第4章主要讲述了面向对象程序设计的原则以及Java语言的实现,主要涉及类、对象、接口、继承、方法等面向对象概念,通过程序示例演示了如何抽象类,以及设计类和接口的一般规则,其中在第4章通过示例演示了Java使用抽象类或接口在实现多态方面的异同点,所以第2~4章应该是同学们学习的重点; 第5章介绍了Java语言中的异常处理技术以及Java中的异常类库; 第6章讲解了在Java中怎样使用输入/输出流技术,介绍了Java语言中常用的输入/输出流类库和一些基本方法; 第7章主要介绍了Java的GUI程序设计,通过实例演示了常用的GUI组件和容器的使用技巧,特别介绍了AWT和Swing的区别和使用时应注意的事项; 第8章讲述了目前广为流行的线程技术以及相关的类和接口,特别介绍了同步、死锁等概念并通过相关的例子来演示; 第9章主要介绍了Java语言中如何实现网络编程,讲述了套接字编程的基本原理,通过示例演示了开发C/S网络程序的技巧和规则; 第10章讲述了Java语言中的数据集合抽象,介绍了Java中常用的集合框架类和接口以及泛型的使用技巧,在实际的软件开发中需要大量地使用该章中的内容; 第11章讲述了Java语言中的数据库编程技术,介绍了JDBC的相关概念和使用技术,并通过示例演示了基本的数据库程序设计原则,建议同学们对第9~11章重点学习,以便能尽快地掌握实用软件的开发技术和原则; 第12章介绍了Java小应用程序和多媒体程序的开发技巧,特别通过实例演示了动画的实现技术,建议同学们自主学习。

由于时间仓促加上作者水平有限,书中难免出现粗浅疏漏或叙述欠严密之处,恳请读者给予批评指正,批评建议可直接电邮。

马俊

2014年6月14日