前言 “新工科”建设已经成为当前工程教育改革的主流。信息科学,尤其是计算机科学、软件工程专业需要将工程教育的理念贯穿于教学环节,以培养学生系统设计及解决实际问题的工程能力。具体到程序设计语言类课程,需着眼于以实践能力为基础的“新工科”核心专业能力的培养。在此背景下,本书将面向对象编程思想与软件工程的过程实践融于一体,以实验案例和工程项目为载体,由浅入深,循序渐进,使读者在实践中理解和掌握Java面向对象技术,并提高解决软件工程实际问题的能力。 全书共15章,各章的主要内容如下。 第1章对Java语言进行概述,简单介绍Java平台、Java语言特点及Java程序的开发环境。 第2~4章介绍Java语言的基本语法,包括基本的数据类型与运算、结构化程序设计语句及数组的定义与使用。 第5、6章是本书的重点内容,介绍Java面向对象的核心技术,主要包括类与对象、继承、接口与多态、内部类等。 第7章介绍枚举类与Java常用类,包括字符串、数学计算、随机数、日期等实用类。 第8章介绍正则表达式与异常处理知识。 第9章介绍Java的集合框架。由于集合框架中的接口与实现类众多,存储特性与性能也各不相同,所以本书在讲解的过程中特别注意集合类的区别,使读者能够根据程序的功能场景和性能需求选用合适的集合类。 第10章介绍Java的图形用户界面技术。 第11章介绍通过JDBC进行数据库编程的知识。通过JDBC可以很方便地操作各种主流数据库,利用JDBC编写的程序能够自动将SQL语句传送给相应的数据库管理系统,实现数据库的操作。 第12章介绍输入/输出流,重点突出流的基本概念,Java通过数据流的方式实现不同数据源的统一操作,大大简化了数据的输入和输出操作。 第13章引入大量案例,系统介绍多线程的相关概念以及如何通过多线程解决系统的并发与同步问题。 第14章以多线程下载工具的实现为切入点,重点介绍网络编程的相关知识。 第15章以房屋租赁系统的设计与实现为综合案例,描述软件开发的详细流程,包括软件需求分析、体系结构设计、编码、测试及项目的发布。 为便于教学,本书提供教学视频、源代码、教学课件、教学大纲、习题参考答案等配套资源,读者可从清华大学出版社官方网站(www.tup.tsinghua.edu.cn)下载。 由于作者水平有限,书中难免有欠妥之处,敬请广大读者批评指正。 于立萍2021年5月