第一部分 Java程序设计 3
第1章 Java入门 3
1.1 Java简介 3
1.1.1 Java的由来 3
1.1.2 Java的特点 4
1.2 Java平台 5
1.2.1 Java 平台的构成 5
1.2.2 Java 平台的版本 6
1.2.3 JRE和JDK 7
1.2.4 JDK的下载与安装 8
1.2.5 环境变量的配置 9
1.3 Java程序的开发流程 10
1.3.1 Java程序的种类 10
1.3.2 Java程序的开发流程 10
1.4 小试身手 11
1.5 Java API文档的使用 12
1.6 Java Doc文档 13
1.6.1 语法 13
1.6.2 标签简介 14
1.6.3 生成Java Doc文档 15
本章小结 16
习题1 17
第2章 Java基本语法 18
2.1 原始类型 18
2.1.1 整数类型 19
2.1.2 实数类型 21
2.1.3 字符类型 21
2.1.4 布尔类型 22
2.1.5 强制类型转换 22
2.2 引用类型 23
2.3 String 23
2.4 声明变量 23
2.4.1 变量的赋值 24
2.4.2 变量的默认值 24
2.4.3 常量 24
2.4.4 变量作用范围 24
2.5 命名 25
2.6 运算符与表达式 26
2.6.1 算术运算符 26
2.6.2 关系运算符 27
2.6.3 逻辑运算符 27
2.6.4 位运算符 29
2.6.5 赋值运算符 31
2.6.6 其他运算符 31
2.7 数组 32
2.7.1 一维数组 32
2.7.2 多维数组 33
本章小结 35
习题2 35
第3章 流程控制 36
3.1 分支语句 36
3.1.1 if…else语句 36
3.1.2 switch语句 38
3.2 循环语句 40
3.2.1 while语句 40
3.2.2 do…while语句 41
3.2.3 for语句 42
3.2.4 for…each语句 43
3.2.5 嵌套循环 44
3.2.6 循环语句对比 45
3.3 跳转语句 45
3.3.1 break语句 45
3.3.2 continue语句 47
3.3.3 return语句 48
本章小结 49
习题3 49
第4章 面向对象编程 51
4.1 面向对象编程概述 51
4.2 类的定义 52
4.2.1 类的基本结构 52
4.2.2 成员变量和局部变量 54
4.2.3 成员方法 55
4.2.4 Overloading 62
4.2.5 构造方法 63
4.2.6 this 65
4.3 对象 66
4.3.1 对象的创建 66
4.3.2 对象的使用 68
4.3.3 对象的清除 68
4.4 static 69
4.4.1 类变量 69
4.4.2 类方法 71
4.4.3 静态语句块 71
4.5 包 72
4.5.1 包的定义 73
4.5.2 编译和运行包中的类 73
4.5.3 import语句 75
4.6 访问权限修饰符 76
4.6.1 private 76
4.6.2 friendly 77
4.6.3 protected 77
4.6.4 public 78
4.7 常用类 78
4.7.1 Object类 79
4.7.2 String类与StringBuffer类 80
4.7.3 数值包装类 83
4.7.4 Math类 85
4.7.5 Random类 86
4.7.6 处理日期的类 87
4.7.7 Arrays类 89
本章小结 91
习题4 91
第5章 继承 93
5.1 继承的语法 93
5.2 成员变量的隐藏和方法的覆盖 94
5.3 super 95
5.4 final 96
5.5 多态 97
5.6 继承与组合 99
5.7 初始化顺序 102
本章小结 105
习题5 105
第6章 抽象类、接口和内部类 106
6.1 抽象类 106
6.1.1 声明抽象类 106
6.1.2 继承抽象类 106
6.1.3 抽象类的应用 106
6.2 接口 109
6.2.1 声明接口 109
6.2.2 实现接口 110
6.2.3 default方法和static方法 110
6.3 内部类 111
6.3.1 什么是内部类 111
6.3.2 匿名内部类 112
6.4 Lambda表达式 114
6.4.1 定义 114
6.4.2 常见函数式接口 116
6.4.3 方法引用 116
本章小结 117
习题6 117
第7章 枚举 118
本章小结 120
习题7 120
第8章 异常 121
8.1 异常 121
8.1.1 异常信息 121
8.1.2 异常的处理 122
8.1.3 异常的类型 124
8.2 finally 124
8.3 throws 125
8.4 自定义异常 125
8.5 异常进一步的处理 126
8.5.1 在何处处理异常 126
8.5.2 同时处理父、子类异常 127
8.5.3 同时处理多个异常 128
本章小结 129
习题8 129
第9章 输入输出 130
9.1 File 130
9.1.1 创建一个File对象 130
9.1.2 访问File对象的方法 131
9.1.3 列出目录下的文件 132
9.1.4 列出目录下满足条件的文件 132
9.1.5 Path 135
9.2 输入流 136
9.2.1 字节输入流 136
9.2.2 try…with…resources语句 141
9.2.3 字符输入流 141
9.2.4 Scanner 145
9.2.5 从控制台输入 147
9.3 输出流 150
9.3.1 字节输出流 151
9.3.2 字符输出流 154
9.3.3 格式化输出 156
9.4 数字字节输入输出流 157
9.4.1 DataInputStream和DataOutputStream 157
9.4.2 RandomAccessFile 158
9.5 对象输入输出流 160
9.6 压缩、解压缩流 161
9.6.1 压缩 162
9.6.2 解压缩 163
9.7 读写Excel文件 164
9.7.1 读取已有的工作簿 164
9.7.2 生成新的工作簿 166
9.7.3 修改已有的工作簿 168
9.7.4 应用 168
9.8 Files工具类 171
本章小结 172
习题9 172
第10章 图形用户界面 174
10.1 AWT包与Swing包 174
10.1.1 辅助类 176
10.1.2 组件类 176
10.1.3 容器类 176
10.2 版面布局管理器 180
10.2.1 FlowLayout 181
10.2.2 BorderLayout 182
10.2.3 GridLayout 184
10.2.4 CardLayout 185
10.2.5 无布局管理器 186
10.3 事件处理 187
10.3.1 事件处理机制 187
10.3.2 事件处理示例 190
10.3.3 事件适配器 196
10.4 Swing常用组件 198
10.4.1 标签 198
10.4.2 按钮 199
10.4.3 文本框 203
10.4.4 文本区 205
10.4.5 列表 205
10.4.6 组合框 206
10.4.7 对话框 211
10.4.8 计时器 215
10.4.9 菜单组件 215
10.5 Swing组件应用 217
10.5.1 图片浏览器 217
10.5.2 文本编辑器 221
本章小结 226
习题10 226
第11章 JavaFX 227
11.1 JavaFX概述 227
11.1.1 JavaFX的发展 227
11.1.2 JavaFX架构图 227
11.2 JavaFX程序 228
11.2.1 场景Scene 228
11.2.2 JavaFX应用程序的生命周期 228
11.2.3 JavaFX应用程序 228
11.3 Java FX布局 229
11.3.1 FlowPane 229
11.3.2 BorderPane 230
11.3.3 HBox 232
11.3.4 VBox 233
11.3.5 GridPane 235
11.3.6 StackPane 236
11.4 事件处理 237
11.4.1 事件 238
11.4.2 事件分发流程 239
11.4.3 事件处理 240
11.5 JavaFX UI组件 247
11.5.1 标签 247
11.5.2 按钮 247
11.5.3 文本框 249
11.5.4 文本区 249
11.5.5 菜单组件 251
11.5.6 文件选择器 253
11.6 在UI控件上使用CSS 257
11.6.1 创建样式 257
11.6.2 JavaFX CSS选择器 257
11.6.3 美化UI控件 258
11.6.4 使用setStyle()方法设置样式 260
本章小结 260
习题11 260
第12章 JDBC 261
12.1 驱动程序下载 262
12.2 创建到数据库的连接 262
12.3 使用Statement执行SQL语句 263
12.3.1 executeUpdate 263
12.3.2 executeQuery 266
12.4 使用PreparedStatement执行SQL语句 267
12.4.1 executeUpdate 267
12.4.2 executeQuery 269
12.5 事务 269
12.6 得到ResultSet 中的记录数 272
12.6.1 执行另一条SQL语句 272
12.6.2 操作游标 272
12.7 验证登录 273
本章小结 274
习题12 274
第13章 集合类 275
13.1 用Java实现一个链式堆栈 276
13.2 List 277
13.2.1 自动包装和解包 279
13.2.2 Stack 280
13.3 Set 281
13.3.1 SortedSet 282
13.3.2 equals()、hashCode()和Comparable 283
13.3.3 Comparator 285
13.4 Map 286
13.4.1 SortedMap 289
13.4.2 Properties 289
13.5 Stream 292
13.5.1 什么是Stream 292
13.5.2 常用方法 292
本章小结 294
习题13 294
第14章 Java相关框架 295
14.1 Spring 295
14.1.1 DI 295
14.1.2 JDBC 297
14.1.3 事务支持 302
14.2 Hibernate 305
本章小结 309
习题14 310
第二部分 实验 313
实验Ⅰ JDK安装、配置及Java程序的编译和运行 313
实验ⅡJava基本语法 313
实验Ⅲ Java的类继承机制、接口 314
实验Ⅳ Java的输入机制 315
实验Ⅴ Java的输出机制 315
实验Ⅵ 综合性程序设计——简单学生信息管理系统(序列化版) 316
实验Ⅶ 综合性程序设计——简单学生信息管理系统(GUI版) 317
实验Ⅷ 综合性程序设计——简单学生信息管理系统(数据库版) 318
实验Ⅸ 综合性程序设计——简单学生信息管理系统(集合版) 319
附录 323
附录A 进行输入和输出 323
附录B SQL语句简单介绍 325
B.1 Java中数据类型和SQL类型的对应关系 325
B.2 SQL中对表的操作 325
B.3 SQL中对表中记录的操作 325
附录C Hsqldb使用指南 328
C.1 启动Hsqldb数据库服务器 328
C.2 用图形界面管理Hsqldb数据库服务器 328
C.3 编译、运行JDBC程序 329
C.4 几个SQL语句的例子 329
C.5 几个JDBC的例子 330
附录D 连接SQL Server2016 Express数据库 341
附录E Eclipse使用指南 343
E.1 设置Workspace目录 343
E.2 建立工程 344
E.3 编辑、编译、运行Java类 345
E.4 调试 349
E.5 在工程中使用第三方类库 350
E.6 使用技巧 352
附录F 使用Ant 354
F.1 下载、设置 354
F.2 定义property、target 355
F.3 编译、运行Java程序 356
F.4 打包Java程序 357
F.5 启动、管理、停止Hsqldb数据库服务器 357
F.6 备份 358
F.7 在Eclipse使用Ant 358
附录G 授课计划和方法 359
参考文献 364