推荐序
前言
知识图谱
第一篇 Java基础
第1章 开篇综述 3
1.1 Java语言历史 4
1.2 Java语言特点 4
1.3 Java平台 6
…
1.4 Java虚拟机 6
1.5 本章小结 7
1.6 同步练习 7
第2章 开发环境搭建 8
2.1 JDK工具包 8
…
2.2 IntelliJ IDEA开发工具 13
…
2.3 使用文本编辑工具 15
2.4 本章小结 16
2.5 动手实践 16
第3章 第一个Java程序 17
3.1 使用IntelliJ IDEA 实现 17
…
3.2 文本编辑工具+JDK实现 20
…
3.3 代码解释 21
3.4 本章小结 23
3.5 动手实践: 世界,你好 23
第4章 Java语法基础 24
4.1 标识符、关键字和保留字 24
…
4.2 Java分隔符 25
4.3 变量 26
…
4.4 常量 28
4.5 Java源代码文件 28
4.6 包 29
…
4.7 本章小结 32
4.8 同步练习 32
第5章 Java编码规范 33
5.1 命名规范 33
5.2 注释规范 34
…
5.3 代码排版 38
…
5.4 其他规范 41
5.5 本章小结 42
5.6 同步练习 43
第6章 数据类型 44
6.1 基本数据类型 44
…
6.2 数值表示方式 48
…
6.3 数值类型相互转换 49
…
6.4 引用数据类型 51
6.5 本章小结 52
6.6 同步练习 52
第7章 运算符 53
7.1 算术运算符 53
…
7.2 关系运算符 56
7.3 逻辑运算符 57
7.4 位运算符 58
7.5 其他运算符 60
7.6 运算符优先级 60
7.7 本章小结 61
7.8 同步练习 61
第8章 控制语句 62
8.1 分支语句 62
…
8.2 循环语句 66
…
8.3 跳转语句 70
…
8.4 本章小结 73
8.5 同步练习 73
8.6 动手实践: 计算水仙花 74
第9章 数组 75
9.1 一维数组 75
…
9.2 多维数组 78
…
9.3 本章小结 81
9.4 同步练习 81
9.5 动手实践: 排序数列 81
第10章 字符串 82
10.1 Java中的字符串 82
10.2 使用 API文档 82
10.3 不可变字符串 84
…
10.4 可变字符串 92
…
10.5 本章小结 95
10.6 同步练习 95
10.7 动手实践: 身份证号码识别 96
第二篇 面 向 对 象
第11章 面向对象基础 99
11.1 面向对象编程 99
11.2 面向对象三个基本特性 99
11.3 类 100
…
11.4 方法重载 102
11.5 封装性与访问控制 104
…
11.6 静态变量和静态方法 108
11.7 静态代码块 110
11.8 本章小结 111
11.9 同步练习 111
第12章 对象 113
12.1 创建对象 113
12.2 空对象 114
12.3 构造方法 114
…
12.4 this关键字 118
12.5 对象销毁 119
12.6 本章小结 119
12.7 同步练习 119
第13章 继承与多态 120
13.1 Java中的继承 120
13.2 调用父类构造方法 122
13.3 成员变量隐藏和方法覆盖 123
…
13.4 多态 126
…
13.5 再谈final关键字 131
…
13.6 本章小结 133
13.7 同步练习 133
第14章 抽象类与接口 135
14.1 抽象类 135
…
14.2 接口 137
…
14.3 本章小结 143
14.4 同步练习 143
第15章 枚举类 144
15.1 枚举概述 144
15.2 枚举类声明 145
…
15.3 枚举类常用方法 149
15.4 本章小结 150
15.5 同步练习 150
第16章 Java常用类 151
16.1 Java根类———Object 151
…
16.2 包装类 153
…
16.3 Math类 159
16.4 大数值 161
…
16.5 日期时间相关类 164
…
16.6 本章小结 168
16.7 同步练习 168
第17章 内部类 170
17.1 内部类概述 170
…
17.2 成员内部类 171
…
17.3 局部内部类 174
17.4 匿名内部类 175
17.5 本章小结 177
17.6 同步练习 177
第18章 Java函数式编程 178
18.1 Lambda表达式概述 178
…
18.2 Lambda表达式简化形式 181
…
18.3 作为参数使用Lambda表达式 183
18.4 访问变量 184
…
18.5 方法引用 186
18.6 本章小结 187
18.7 同步练习 187
18.8 动手实践: 找出素数 188
第三篇 Java进阶
第19章 异常处理 191
19.1 从一个问题开始 191
19.2 异常类继承层次 191
…
19.3 捕获异常 194
…
19.4 释放资源 199
…
19.5 throws与声明方法抛出异常 203
19.6 自定义异常类 204
19.7 throw与显式抛出异常 205
19.8 本章小结 206
19.9 同步练习 206
19.10 动手实践: 自己的异常处理类 208
第20章 对象容器———集合 209
20.1 集合概述 209
20.2 List集合 210
…
20.3 Set集合 214
…
20.4 Map集合 217
…
20.5 本章小结 220
20.6 同步练习 220
第21章 泛型 221
21.1 一个问题的思考 221
21.2 使用泛型 223
21.3 自定义泛型类 224
21.4 自定义泛型接口 226
21.5 泛型方法 228
21.6 本章小结 229
21.7 同步练习 229
21.8 动手实践: 编写自己的泛型类 229
第22章 文件管理与I/O流 230
22.1 文件管理 230
…
22.2 I/O流概述 233
…
22.3 字节流 236
…
22.4 字符流 241
…
22.5 本章小结 246
22.6 同步练习 247
22.7 动手实践: 读写日期 247
第23章 多线程编程 248
23.1 基础知识 248
…
23.2 创建子线程 250
…
23.3 线程的状态 255
23.4 线程管理 256
…
23.5 线程安全 261
…
23.6 线程间通信 266
23.7 本章小结 269
23.8 同步练习 269
23.9 动手实践: 时钟应用 270
第24章 网络编程 271
24.1 网络基础 271
…
24.2 TCP Socket低层次网络编程 273
…
24.3 UDP Socket低层次网络编程 280
…
24.4 数据交换格式 286
…
24.5 访问互联网资源 293
…
24.6 本章小结 302
24.7 同步练习 302
24.8 动手实践: 解析来自于 Web的结构化数据 302
第25章 Swing图形用户界面编程 303
25.1 Java图形用户界面技术 303
25.2 Swing技术基础 304
…
25.3 事件处理模型 307
…
25.4 布局管理 313
…
25.5 Swing组件 320
…
25.6 案例: 图书库存 334
25.7 本章小结 340
25.8 同步练习 340
25.9 动手实践: 展示 Web数据 340
第26章 反射 341
26.1 Java反射机制 API 341
…
26.2 创建对象 343
…
26.3 调用方法 346
26.4 调用成员变量 348
26.5 本章小结 350
26.6 同步练习 350
第27章 注解 351
27.1 基本注解 351
…
27.2 元注解 355
27.3 自定义注解 356
…
27.4 本章小结 361
27.5 同步练习 361
第28章 数据库编程 362
28.1 数据持久化技术概述 362
28.2 MySQL数据库管理系统 362
…
28.3 JDBC技术 371
…
28.4 案例: 数据CRUD操作 380
…
28.5 本章小结 385
28.6 同步练习 385
28.7 动手实践: 从结构化文档迁移数据到数据库 385
第四篇 项 目 实 战
第29章 项目实战1: 开发PetStore宠物商店项目 389
29.1 系统分析与设计 389
…
29.2 任务1: 创建数据库 395
…
29.3 任务2: 初始化项目 396
…
29.4 任务3: 编写数据持久层代码 397
…
29.5 任务4: 编写表示层代码 410
…
29.6 任务5: 应用程序打包发布 426
…
第30章 项目实战2: 开发Java版QQ聊天工具 429
30.1 系统分析与设计 429
…
30.2 任务1: 创建服务器端数据库 434
…
30.3 任务2: 创建项目 435
…
30.4 任务3: 编写 QQ服务器项目外围代码 437
…
30.5 任务4: QQ客户端项目 UI实现 442
…
30.6 任务5: 用户登录过程实现 452
…
30.7 任务6: 用户登录刷新好友列表 459
…
30.8 任务7: 聊天过程实现 462
…
30.9 任务8: 用户下线刷新好友列表过程 467
…
30.10 测试与运行 470
…