Java程序设计与项目案例教程
作者:梁立新,何欢 编著
出版时间: 2020年版
内容简介
本书是学习Java语言的经典入门教材,遵循项目驱动教学模式,通过完整的项目案例系统地介绍使用Java语言进行程序设计的方法和技术。全书共12章,分为Java概述篇、Java核心篇和Java高级篇三部分,分别介绍面向对象程序设计的基本概念、Java程序设计基础(包括标识符、关键字及数据类型,运算符与表达式,程序流程控制,数组)、Java类和对象、Java面向对象高级特性、Java实用类及接口、Java异常处理、图形用户界面设计、输入与输出、多线程编程、Java网络编程、JDBC数据库应用开发技术等内容。 本书注重理论与实践相结合,内容详尽,与时俱进。使用*的JDK版本及Eclipse开发工具,提供了大量实例,突出应用能力的培养,并将一个实际项目的知识点分解在各章作为案例讲解,是一本实用性突出的教材。本书可作为普通高等学校计算机类专业程序设计课程的教材,也可供程序设计人员学习参考。
目 录
篇 Java概述篇
第1章 进入Java世界3
1.1 Java的历史现状及发展4
1.1.1 Java语言简介4
1.1.2 Java应用开发体系4
1.2 Java语言的特点5
1.3 面向对象程序设计的基本概念7
1.3.1 面向对象方法7
1.3.2 面向对象的基本概念与特征8
1.4 Java核心技术体系9
1.4.1 Java核心技术基础部分9
1.4.2 Java核心技术应用部分10
1.5 Java的开发环境13
1.5.1 下载JDK14
1.5.2 安装JDK14
1.5.3 配置环境17
1.5.4 测试JDK配置是否成功18
1.5.5 开发工具Eclipse简介20
1.6 Java程序开发实例25
本章总结27
习题127
第2章 Java典型应用介绍28
2.1 项目概述28
2.2 需求分析28
2.3 系统分析设计29
2.4 项目运行指南29
本章总结35
习题235
第3章 Java程序设计基础36
3.1 标识符、关键字及数据类型36
3.1.1 标识符36
3.1.2 关键字37
3.1.3 数据类型38
3.2 运算符与表达式49
3.2.1 算术运算符及其表达式49
3.2.2 自增和自减运算符50
3.2.3 关系运算符及其表达式52
3.2.4 逻辑运算符54
3.2.5 位运算符55
3.2.6 赋值运算符及其表达式58
3.2.7 条件运算符和条件表达式59
3.2.8 表达式中运算符的优先顺序60
3.3 控制语句61
3.3.1 顺序流程62
3.3.2 选择流程62
3.3.3 循环控制流程71
3.4 数组79
3.4.1 一维数组80
3.4.2 一维数组的应用83
3.4.3 二维数组86
3.4.4 多维数组90
3.5 项目案例91
3.5.1 学习目标91
3.5.2 案例描述91
3.5.3 案例要点91
3.5.4 案例实施91
3.5.5 特别提示92
3.5.6 拓展与提高93
本章总结94
习题394
第二篇 Java核心篇
第4章 Java类和对象99
4.1 面向对象程序设计思想99
4.1.1 面向对象程序设计的基本思想99
4.1.2 面向对象程序设计方法的特点100
4.2 类和对象的关系101
4.3 类的定义及访问103
4.3.1 类的定义103
4.3.2 成员变量的定义及修饰字104
4.3.3 方法的定义及修饰字104
4.3.4 方法的参数传递105
4.3.5 类成员的访问控制符106
4.4 类的实例化106
4.4.1 创建对象107
4.4.2 对象成员的使用107
4.4.3 对象资源的回收108
4.5 构造方法109
4.6 类的封装110
4.7 类的继承112
4.7.1 继承的概念112
4.7.2 继承的实现112
4.7.3 方法重写115
4.7.4 this()和super()的使用116
4.7.5 继承中的构造方法调用118
4.7.6 finalize()方法的使用120
4.7.7 对象的比较120
4.8 多态性121
4.8.1 多态的概念121
4.8.2 多态实现条件122
4.8.3 多态性的代码实现123
4.9 项目案例125
4.9.1 学习目标125
4.9.2 案例描述125
4.9.3 案例要点126
4.9.4 案例实施126
4.9.5 特别提示127
4.9.6 拓展与提高127
本章总结128
习题4128
第5章 Java面向对象高级特性131
5.1 静态变量、方法和初始化块131
5.1.1 静态变量131
5.1.2 静态方法132
5.1.3 静态初始化块134
5.2 终类、变量和方法134
5.3 抽象方法与抽象类135
5.3.1 抽象方法135
5.3.2 抽象类135
5.3.3 扩展抽象类136
5.4 接口137
5.4.1 接口的定义137
5.4.2 接口的实现138
5.5 内部类140
5.5.1 认识内部类140
5.5.2 成员式内部类——对象成员内部类141
5.5.3 成员式内部类——静态内部类143
5.5.4 局部内部类145
5.5.5 匿名内部类146
5.6 自动装箱与拆箱147
5.6.1 自动装箱与拆箱介绍147
5.6.2 自动装箱与拆箱实例148
5.7 枚举149
5.7.1 基本概念149
5.7.2 实例说明150
5.8 注解150
5.8.1 注解介绍151
5.8.2 基本注解152
5.9 Lambda表达式154
5.9.1 基本概念154
5.9.2 函数式接口155
5.9.3 方法引用与构造函数引用155
5.1 0项目案例156
5.1 0.1 学习目标156
5.1 0.2 案例描述156
5.1 0.3 案例要点1565.1 0.4 案例实施156
5.1 0.5 特别提示159
5.1 0.6 拓展与提高159
本章总结159
习题5160
第6章 Java实用类及接口164
6.1 字符串处理164
6.1.1 String类165
6.1.2 StringBuffer类173
6.1.3 StringTokenizer(字符串标记)178
6.2 时间及日期处理180
6.2.1 Date(日期)类180
6.2.2 Calendar(日历)类182
6.2.3 DateFormat类185
6.2.4 SimpleDateFormat类185
6.3 集合框架和泛型187
6.3.1 Collection接口187
6.3.2 Set接口188
6.3.3 List接口190
6.3.4 Iterator接口192
6.3.5 Map接口194
6.3.6 泛型196
6.3.7 集合的增强功能199
6.4 其他实用类200
6.4.1 Math类200
6.4.2 Random类201
6.4.3 Arrays类203
6.5 项目案例204
6.5.1 学习目标204
6.5.2 案例描述204
6.5.3 案例要点204
6.5.4 案例实施204
6.5.5 特别提示206
6.5.6 拓展与提高206
本章总结206
习题6207
第7章 Java异常处理209
7.1 异常处理概述209
7.1.1 程序中错误209
7.1.2 异常定义210
7.2 异常分类210
7.3 异常处理212
7.3.1 如何处理异常212
7.3.2 处理异常的基本语句213
7.4 自定义异常219
7.5 项目案例220
7.5.1 学习目标220
7.5.2 案例描述220
7.5.3 案例要点220
7.5.4 案例实施220
7.5.5 特别提示221
7.5.6 拓展与提高222
本章总结222
习题7222
第三篇 Java高级篇
第8章 图形用户界面设计229
8.1 GUI程序概述229
8.1.1 AWT简介229
8.1.2 Swing简介230
8.2 容器与布局231
8.2.1 容器231
8.2.2 布局管理231
8.3 常用组件238
8.3.1 AWT组件239
8.3.2 Swing组件244
8.4 事件处理251
8.4.1 事件处理概念251
8.4.2 监听器和适配器252
8.4.3 事件处理编程方法2618.5 项目案例262
8.5.1 学习目标262
8.5.2 案例描述262
8.5.3 案例要点262
8.5.4 案例实施262
8.5.5 特别提示264
8.5.6 拓展与提高265
本章总结265
习题8265
第9章 输入与输出267
9.1 输入和输出流概述267
9.1.1 流的概念267
9.1.2 字节流268
9.1.3 字符流269
9.2 java.i o包层次结构270
9.3 常用的输入和输出类273
9.3.1 常用的输入类273
9.3.2 常用的输出类274
9.4 文件和目录的操作280
9.5 对象流和对象序列化285
9.5.1 序列化概述285
9.5.2 序列化实现机制285
9.6 项目案例287
9.6.1 学习目标287
9.6.2 案例描述287
9.6.3 案例要点287
9.6.4 案例实施288
9.6.5 特别提示290
9.6.6 拓展与提高290
本章总结290
习题9291
第10章 多线程编程292
10.1 线程概念292
10.2 线程创建及启动293
10.3 线程状态及转化29710.4 线程优先级及调度策略298
10.5 线程同步与互斥299
10.5.1 基本概念299
10.5.2 线程同步301
10.6 项目案例306
10.6.1 学习目标306
10.6.2 案例描述306
10.6.3 案例要点306
10.6.4 案例实施306
10.6.5 特别提示308
10.6.6 拓展与提高308
本章总结308
习题10308
第11章 Java网络编程309
11.1 网络编程概述309
11.2 理解TCP/IP及UDP/IP310
11.3 使用ServerSocket和Socket开发TCP/IP网络程序310
11.4 使用DatagramPacket和DatagramSocket开发UDP/IP网络程序317
11.5 项目案例321
11.5.1 学习目标321
11.5.2 案例描述321
11.5.3 案例要点321
11.5.4 案例实施321
11.5.5 特别提示326
11.5.6 拓展与提高326
本章总结327
习题11327
第12章 JDBC技术328
12.1 关系数据库简介328
12.2 JDBC简介330
12.3 JDBC开发基本步骤331
12.4 JDBC高级特性333
12.5 项目案例336
12.5.1 学习目标336
12.5.2 案例描述33612.5.3 案例要点336
12.5.4 案例实施336
12.5.5 特别提示338
12.5.6 拓展与提高338
本章总结338
习题1233