目 录
第1章 快速入门 1
1.1 Java简介 1
1.1.1 发展简史 1
1.1.2 Java的特点 2
1.2 Java开发环境的构建 4
1.2.1 Java开发包的安装 4
1.2.2 环境变量的设定 6
1.2.3 基本DOS命令 7
1.3 Java应用程序 9
1.3.1 编写源代码 9
1.3.2 编译源代码 10
1.3.3 运行程序 11
1.3.4 常见问题解答 12
1.3.5 理解例子 13
1.4 Java Applet 16
1.4.1 编写Applet源代码 16
1.4.2 编写嵌入Applet的HTML
文件 17
1.4.3 运行Applet 17
1.5 Eclipse开发工具 18
1.5.1 Eclipse简介与安装 18
1.5.2 汉化Eclipse 20
1.5.3 使用Eclipse开发Java项目 21
习题 23
第2章 Java基本语法 24
2.1 变量 24
2.1.1 基本数据类型 25
2.1.2 变量 28
2.1.3 变量的作用域 28
2.1.4 变量的初始化 30
2.2 操作符 31
2.2.1 算术操作符 31
2.2.2 关系与条件操作符 33
2.2.3 位操作符 34
2.2.4 其他类型操作符 35
2.2.5 数字类型转换 36
2.2.6 操作符优先级 38
2.2.7 表达式、语句和块 39
2.3 字符串 40
2.3.1 字符串连接 41
2.3.2 修改字符串 41
2.3.3 判断字符串是否相等 42
2.3.4 使用帮助文档 43
2.4 控制流 45
2.4.1 if条件语句 45
2.4.2 for 循环语句 46
2.4.3 while/do while循环语句 47
2.4.4 switch分支选择语句 48
2.4.5 break、continue 50
2.5 数组 52
2.5.1 一维数组 52
2.5.2 数组复制 55
2.5.3 多维数组 55
2.5.4 Java 8增强的数组功能 57
2.6 案例实训 58
习题 59
第3章 类与继承 60
3.1 类和对象 60
3.1.1 类声明 60
3.1.2 类成员 61
3.1.3 关键字this 67
3.1.4 方法重载 68
3.1.5 类继承 69
3.1.6 类的初始化过程 70
3.1.7 源文件 72
3.2 面向对象特性 73
3.2.1 封装性 73
3.2.2 继承性 75
3.2.3 多态性 79
3.3 关键字static 80
3.4 关键字final 82
3.4.1 final变量 82
3.4.2 final方法 83
3.4.3 final类 83
3.5 对象复制 84
3.6 内部类 86
3.7 案例实训 88
习题 89
第4章 接口、抽象类与包 93
4.1 接口 93
4.1.1 接口定义 93
4.1.2 接口的实现 94
4.1.3 接口作为类型 96
4.1.4 接口不应改变 97
4.2 抽象类 97
4.2.1 抽象方法 98
4.2.2 抽象类 98
4.2.3 抽象类和接口的比较 100
4.3 包 102
4.3.1 包的作用 102
4.3.2 包命名 103
4.3.3 包的使用 104
4.4 案例实训 106
习题 107
第5章 Java基础类库 109
5.1 常用类 109
5.1.1 Object类 109
5.1.2 Java 7新增的Objects类 111
5.1.3 String、StringBuffer和
StringBuilder类 112
5.1.4 Math类 116
5.1.5 Java 7的ThreadLocalRandom
与Random 118
5.1.6 BigDecimal类 121
5.2 Java 8的日期、时间类 124
5.2.1 Date类 124
5.2.2 Calendar类 125
5.2.3 Java 8新增的日期、
时间包 129
5.3 正则表达式 132
5.3.1 创建正则表达式 132
5.3.2 使用正则表达式 136
5.4 案例实训 140
习题 141
第6章 异常处理 142
6.1 概述 142
6.2 异常处理 142
6.2.1 遭遇异常 142
6.2.2 捕获并处理异常 144
6.2.3 声明方法抛出异常 148
6.3 异常的抛出策略 150
6.3.1 不要声明抛出所有异常 151
6.3.2 异常声明的数量 152
6.3.3 保持throws子句的稳定性 153
6.3.4 异常抛出策略小结 153
6.4 异常的捕获策略 154
6.4.1 混淆的异常 154
6.4.2 代码重构的困难 154
6.4.3 捕获超级异常的合理情形 156
6.4.4 异常捕获策略小结 156
6.5 案例实训 157
习题 157
第7章 GUI编程 159
7.1 Swing起步 159
7.1.1 Swing概述 159
7.1.2 一个GUI实例 160
7.1.3 面板 161
7.1.4 改变应用程序的观感 164
7.2 AWT事件处理 165
7.2.1 事件处理简介 165
7.2.2 事件处理实例 166
7.2.3 使用事件适配器 170
7.2.4 AWT事件继承关系 172
7.3 布局管理 173
7.3.1 流式布局 173
7.3.2 边框布局 175
7.3.3 网格布局 176
7.3.4 网格袋布局 177
7.4 常用GUI组件 183
7.4.1 标签 183
7.4.2 文本输入类组件 185
7.4.3 选择类组件 192
7.4.4 菜单类组件 199
7.4.5 对话框 205
7.4.6 表格 212
7.5 案例实训 219
习题 220
第8章 网络编程 221
8.1 网络编程的基本概念 221
8.1.1 网络基础 221
8.1.2 TCP/IP协议簇 221
8.1.3 TCP与UDP 222
8.2 InetAddress类 224
8.2.1 创建InetAddress对象 224
8.2.2 类InetAddress的应用 225
8.3 TCP程序设计 227
8.3.1 Java客户端套接字 227
8.3.2 Java服务器套接字 232
8.4 UDP程序设计 237
8.4.1 DatagramPacket类 237
8.4.2 DatagramSocket类 239
8.5 URL程序设计 244
8.5.1 URL类 245
8.5.2 URLConnection类 248
8.6 案例实训 251
习题 251
第9章 Java I/O系统 253
9.1 文件类 253
9.1.1 文件类File 253
9.1.2 文件过滤 257
9.2 Java I/O结构 259
9.2.1 字节流 259
9.2.2 字符流 261
9.3 使用流 262
9.3.1 标准流 262
9.3.2 文件流 264
9.3.3 过滤器流 268
9.3.4 随机访问文件 271
9.3.5 读取器和写出器 273
9.4 对象序列化 275
9.5 案例实训 277
习题 278
第10章 访问数据库 279
10.1 JDBC简介 279
10.2 建立数据库连接 280
10.2.1 使用JDBC/ODBC桥接
驱动程序 281
10.2.2 使用JDBC驱动程序 282
10.2.3 使用配置文件 284
10.3 执行SQL语句 285
10.3.1 executeUpdate 286
10.3.2 executeQuery 286
10.3.3 executeBatch 288
10.4 使用PreparedStatement 288
10.5 事务处理 290
10.6 编写数据库工具类 291
10.7 一个实例 296
10.7.1 数据库 296
10.7.2 布局及功能简介 296
10.8 案例实训 297
习题 298
第11章 多线程 301
11.1 什么是线程 301
11.2 一个简单的例子 301
11.3 定制线程类 303
11.3.1 继承线程类 303
11.3.2 实现Runnable接口 304
11.4 线程的生命周期 305
11.4.1 创建线程 305
11.4.2 启动线程 305
11.4.3 线程运行 306
11.4.4 线程阻塞 306
11.4.5 终止线程 306
11.5 线程中断 307
11.6 线程的优先级 308
11.6.1 利己线程 309
11.6.2 分时方式 310
11.7 线程同步 310
11.7.1 对象锁 313
11.7.2 可重入锁 314
11.7.3 notifyAll和wait方法 314
11.8 案例实训 317
习题 318
第12章 项目实践一:贪吃蛇游戏 320
12.1 系统简介 320
12.2 功能设计 320
12.2.1 需求分析 320
12.2.2 流程设计 321
12.2.3 总体设计 321
12.2.4 模块详细设计 322
12.3 界面设计 323
12.4 代码实现 323
12.4.1 主程序类 323
12.4.2 主窗口界面设置 324
12.4.3 相关组件设置 325
12.4.4 Snake模型设置 325
12.4.5 游戏运行面板设置 326
12.4.6 运行系统 326
习题 327
第13章 项目实践二:开发电力系统
?中的收费结算系统 328
13.1 系统简介 328
13.2 功能设计 328
13.2.1 计量模拟程序 328
13.2.2 结算收费系统 329
13.3 数据库设计 330
13.4 代码实现 332
13.4.1 计量模拟 332
13.4.2 快闪屏 332
13.4.3 系统参数设置对话框 333
13.4.4 基础资料管理 334
13.4.5 出账、审核及收费 335
13.4.6 运行系统 335
习题 337
第14章 项目实践三:基于Socket的
?聊天程序 338
14.1 系统简介 338
14.2 功能设计 338
14.2.1 服务器端设计 338
14.2.2 客户端设计 338
14.2.3 Common模块设计 340
14.3 代码实现 341
14.3.1 服务器端 341
14.3.2 客户端 342
14.3.3 Common模块 345
习题 347
附录A 参数传递 348
附录B 各章习题参考答案 355