Java语言程序设计教程
上QQ阅读APP看书,第一时间看更新

前言

PREFACE

随着计算机与信息技术的不断发展,学习一门应用广泛的程序设计语言是适应IT编程行业发展的必选之路。2015年7月4日,国务院印发了《国务院关于积极推进“互联网+”行动的指导意见》。从该指导意见可以看出,选择一种与互联网及其应用紧密联系、跨平台和移植性强的程序设计语言符合软件开发的发展要求,并能够推动软件开发领域的不断拓展。

Java语言最初是基于互联网技术的应用而产生的,恰好适应了国家关于IT行业不断发展的战略需要。经过数年的发展,Java语言已经成为一门成熟的面向对象的程序设计语言,在所有程序设计语言中占有举足轻重的地位。从面向对象程序设计思想的角度来说,Java语言在网络、跨平台、多线程和安全性方面比其他程序设计语言更具有优势,更适合程序设计人员作为开发工具使用。从面向对象程序设计的应用角度来说,Java语言将大部分算法实现进行了封装,实现比较容易,可以节省程序设计人员的开发时间,提高开发效率。

本教材以面向对象程序设计思想为主线,将所有内容都围绕“封装、继承与多态”展开,所有代码示例严格符合编程规范。Java程序设计的基础知识主要以封装类中的数据属性、构造方法和功能方法作为主线进行讲述,侧重封装、继承与多态之间的相互关系。Java程序设计应用中的GUI程序以三个顶层容器组件为主线进行讲述,侧重桌面程序的设计。Java程序设计应用中的数据结构、输入输出、网络应用以典型案例为主线进行讲述,侧重完整项目的开发与设计。

全书共分10章,各章节之间既有相互独立性又有潜在的联系,保证了学习的连贯性。第1章对Java与面向对象思想之间的关系进行了简述。第2章介绍了基本数据类型、数据字段、操作符、表达式和语句流程控制等程序设计基础知识。第3章详细讲解了面向对象程序设计的特征,学习使用类、对象、接口、类的继承、多态进行程序设计。第4章在引入Java在线帮助文档的前提下,介绍常用的Java类及其应用。第5章讲述了Java语言的异常处理机制。第6章讲述了数据持久化中输入流和输出流封装的知识。第7章介绍了基于Java语言的常用数据结构的实现和Java集合框架,它为数据结构定义了一套有用的API。第8章介绍了Java GUI程序设计和Java Applet的应用,侧重学习委托事件处理模型,使程序具有更好的响应和人机交互功能。第9章介绍了Java多线程技术,它实现了让程序任务并发执行的特征及安全性。第10章讲解了Java程序在网络方面的应用,使得网络上的不同主机能够相互通信。

在教材内容方面,由浅入深进行讲述,如果读者把此书作为入门教材,建议熟练学习前8章的内容,培养描述实际问题的程序化解决方案的关键技能,并通过基本算法和数据结构将方案转变成程序。如果读者已经具有一定的编程基础,建议重点学习第9章和第10章,使用面向对象程序设计的方法开发多线程并发任务程序或网络程序,提高程序设计的项目应用能力。在实践方面,本教材并没有局限于讲述某一种具体的程序设计集成开发环境,让读者能够按照自己的实际要求进行编程,提高了教材使用的通用性。教材每一章都安排了适量的练习题,给读者增加自主性思考和实践练习的机会。这些练习题不再使用实验指导书性质的基于现有代码程序设计,而是要求读者根据题目文字描述,自行分析和设计。练习题既有简单的程序设计题,也有复杂的算法实现题,还有完整的项目实践题,让读者循序渐进地学习Java语言程序设计。

Java语言程序设计的实践练习过程中,提供了Java SE各种版本的在线帮助文档,即Java SE API。Java SE API可以帮助读者理解教材中的实践内容,提高程序设计的效率。本教材并没有简单地套用Java SE API中的内容,而是在该文档的基础上增加程序设计原理、经验和技巧,力求比在线帮助文档更加准确、简明和便于理解。

与其他同类教材相比,本教材的主要特色为:

(1)更加强化面向对象程序设计中的封装、继承和多态特征在程序中的体现,所有的例题和练习题都力求用严格的编程规范实现。

(2)在程序设计基础知识学习的前提下,重点提升编程能力,重视逻辑思维和计算思维的培养。

(3)重视理论与实践相结合,突出程序设计动手能力培养的特点。摒弃了传统实验指导书提供部分代码的问题,重点培养完整程序编写的能力。每章后的习题都需要设计编程思想和完成完整的程序代码,提高程序设计的熟练度。

(4)重视扩展内容深度和广度,既可以把本教材作为Java语言程序设计的基础教材,也可以作为深入学习Java语言程序设计的工具书。

本教材由烟台大学计算机与控制工程学院胡光任主编,山东女子学院信息技术学院李效伟任副主编。李效伟编写了第1章和第2章,胡光编写了其余章节。在编写过程中许多领导和老师提出了宝贵的意见和建议,也得到了许多朋友的帮助和支持,在这里一并表示感谢。

本教材适合作为计算机科学与技术和软件工程相关专业的程序设计基础教材,也可以作为需要学习Java程序设计基础和进阶的工程技术人员的自学参考书。

由于编者的水平有限,不足和疏漏之处在所难免,欢迎广大技术专家和读者指正。

编者

2017年11月