前 言
Java 语言自 1995 年 5 月发布以来,以极为迅猛的势头发展至今,现已不仅是一门高级程序设计语言,也是一种完备的技术体系和开发平台。Java 拥有卓越的技术特性、丰富的编程接口(类库)和多款功能强大的开发工具平台,受到广大编程人员的喜爱。在当下的网络时代,Java 技术应用广泛,从大型复杂的企业级开发到小型移动设备的开发,随处都可以看到 Java 活跃的身影。对于一个想从事 Java 程序开发的人员来说,学好 Java 基础就变得尤为重要。
本书初版自 2010 年 9 月出版以来,受到各类高职高专院校广大师生的青睐。教材覆盖地域宽广,使用层次多样,已被多次印刷。
第 2 版修订教材从最基础的内容开始,详细讲述了使用 Java 技术进行应用程序开发的方法。全书共分 12 章,内容由浅入深,全面涵盖了 Java 编程的基础知识及高级特性。在保证知识体系完备、脉络清晰、论述精准的同时,注重培养读者的动手能力,并结合相应的知识点编写了大量的实例。
各章节的主要内容如下:
第 1 章 Java 技术入门。简要介绍 Java 语言的发展历史、Java 技术特性、Java 平台核心机制以及 Java 开发环境的安装与配置,并通过一个简单示例使读者对 Java 程序的基本结构、运行过程有一个感性认识。
第 2 章 Java 编程基础。主要介绍 Java 语言的基本语法、数据类型、运算符和表达式以及流程控制语句等知识,为后续章节的学习提供了语言编程基础。
第 3 章 数组。主要介绍 Java 中一维数组和多维数组的声明、创建、初始化以及数组元素的访问。
第 4 章 面向对象编程初步。Java 是面向对象的编程语言,提供了定义类和对象等最 基本的功能。如何用面向对象的观点去分析和解决问题是学习 Java 语言的重点,本章详细介绍了 Java 语言的引用数据类型—类和对象的使用方法。
第 5 章 面向对象编程进阶。详细介绍了继承与多态技术、抽象类和接口、内部类、匿名类等知识。要掌握好 Java 语言并具有利用 Java 语言解决实际问题的能力,仅学习语法规则是不够的。本书从第 6 章开始介绍 Java 应用程序编程接口(Java API)中常用类的使用以及一些重要的编程技术。
第 6 章 Java API。Java 应用程序编程接口(Java API)是 Oracle 公司开发的 Java 程序类库,提供给 Java 程序员使用的平台和工具,利用这些类库中的类和接口可以方便地实现程序中的各种功能。本章重点介绍常用类的使用。
第 7 章 Java 的异常处理。主要介绍 Java 的异常处理机制、捕获并处理异常、自定义异常等。
第 8 章 Java 中的集合类及泛型。主要介绍 Java 集合类的具体语法和使用方式,以及自 JDK5.0 开始引入的一种 Java 语言新特性—泛型。
第 9 章 Java 流与文件操作。所有程序都离不开信息的输入和输出,程序通过输入/输出与外部信息进行交互,Java 采用“输入/输出流”实现输入/输出操作,即从“流”读取数据或向“流”写入数据。本章详细介绍了数据流的概念以及 java.io 包中丰富的输入/输出流类等知识。
第 10 章 GUI 程序设计。详细介绍了如何使用 java.awt 包和 javax.swing 包下的组件进行图形用户界面的应用程序开发。
第 11 章 多线程。详细介绍了线程的概念、多线程的创建、线程的生命周期及状态、多线程同步、线程优先级和调度的相关知识。
第 12 章 Java 数据库编程。JDBC 是实现 Java 同各种数据库连接的关键,它提供了将Java 和数据库连接起来的程序接口。本章详细介绍了在 Java 程序中如何使用 JDBC 实现数据库的连接与访问。
本书内容丰富、结构合理、思路清晰、语言简练流畅、案例新颖、针对性强。每一章的开始部分概述本章的作用和内容,指出本章的学习目标;正文部分结合每章的知识点和关键技术,穿插了大量极富实用价值的程序案例,每一章的末尾有本章小结,总结该章的内容、重点及难点;同时安排了有针对性的思考和练习,帮助读者巩固所学内容,提高读者的实际动手能力。
本书由河北软件职业技术学院的丁宏伟、刘丽华担任主编,李丹、贺晨和许焕新担任副主编。丁宏伟和刘丽华负责整体结构设计,丁宏伟负责全书统稿。本书的第 1~2 章由贺晨编写,第 3~4 章和第 6 章由李丹编写,第 5 章、第 7 章和第 11 章由丁宏伟编写,第 8 章、第 10 章和第 12 章由刘丽华编写,第 9 章由许焕新编写。北京尚观锦程科技有限公司提供了大量的案例,对本书的结构和内容提出了建议,在此表示感谢。
由于作者水平有限,书中难免有不足之处,欢迎各位同行和广大读者对本书提出建议和修改意见。
编 者
目 录
第 1 章 Java 技术入门 1
1.1 Java 概述 1
1.2 Java 平台核心机制 5
1.3 Java 开发环境的安装与配置 7
1.4 第一个 Java 应用程序 12
1.5 本章小结 17
1.6 知识考核 17
第 2 章 Java 编程基础 18
2.1 Java 的基本语法 18
2.2 数据类型 23
2.3 常量和变量 24
2.4 运算符和表达式 27
2.5 流程控制语句 37
2.6 标准输入/输出 56
2.7 本章小结 58
2.8 知识考核 58
第 3 章 数组 59
3.1 数组概述 59
3.2 一维数组 60
3.3 数组操作 65
3.4 多维数组 67
【任务 3-1】酒店前台客房管理程序设计 71
3.5 本章小结 75
3.6 知识考核 75
第 4 章 面向对象编程初步 76
4.1 类和对象 76
4.2 方法 84
4.3 变量 93
4.4 隐藏和封装 95
4.5 本章小结 101
4.6 知识考核 101
第 5 章 面向对象编程进阶 102
5.1 类的继承 102
5.2 多态 109
5.3 静态初始化块 113
5.4 final 修饰符 117
5.5 抽象类 122
5.6 接口 125
5.7 内部类 131
5.8 匿名类 133
5.9 本章小结 134
5.10 知识考核 134
第 6 章 Java API 135
6.1 Java API 的概念 135
6.2 java.lang.Object 类—Java 类的共同父类 136
6.3 字符串相关类型 139
6.4 java.lang.System 类与 java.lang.Runtime 类 144
6.5 封装类 146
6.6 数学相关类型 149
6.7 本章小结 150
6.8 知识考核 150
第 7 章 Java 的异常处理 151
7.1 异常处理的基础知识 151
7.2 异常处理机制 153
7.3 自定义异常类 161
7.4 本章小结 163
7.5 知识考核 163
第 8 章 Java 中的集合类及泛型 164
8.1 集合类与数据容器 164
8.2 Collection 接口和 Map 接口 165
8.3 列表 167
8.4 集及其实现类 173
8.5 “键-值”对型的集合 175
8.6 泛型和迭代器 179
8.7 本章小结 184
8.8 知识考核 184
第 9 章 Java 流与文件操作 185
9.1 数据流的基本概念 185
9.2 Java 的标准数据流和输入/输出流 186
9.3 字节流 189
9.4 文件操作 194
9.5 字符流 202
【任务 9-1】模拟记事本 205
9.6 对象序列化 209
9.7 本章小结 213
9.8 知识考核 213
第 10 章 GUI 程序设计 214
10.1 Java GUI 设计 214
10.2 GUI 事件处理 227
10.3 Swing 常用组件 238
【任务 10-1】班级通讯录管理系统 261
10.4 本章小结 276
10.5 知识考核 276
第 11 章 多线程 277
11.1 多线程概述 277
11.2 线程的创建 279
11.3 线程的生命周期与线程状态 282
11.4 线程的调度 283
11.5 多线程同步 289
11.6 本章小结 292
11.7 知识考核 292
第 12 章 Java 数据库编程 293
12.1 JDBC 基本概念 293
12.2 JDBC 编程常用的类和接口 295
12.3 JDBC 编程访问数据库 298
12.4 预处理语句 304
【任务 12-1】使用 JDBC 实现班级通讯录管理系统 306
12.5 本章小结 323
12.6 知识考核 323
参考文献 324