第1章 快速入门 1
1.1 Java简介 1
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.4 常见问题解答 11
1.3.3 运行程序 11
1.3.5 理解例子 12
1.4 Java Applet 15
1.4.1 编写Applet源代码 15
1.4.2 编写嵌入Applet的HTML文件 16
1.4.3 运行Applet 16
习题 17
第2章 Java基本语法 19
2.1 变量 19
2.1.1 基本数据类型 19
2.1.2 变量 22
2.1.3 变量作用域 23
2.2 操作符 25
2.1.4 变量初始化 25
2.2.1 算术操作符 26
2.2.2 关系与条件操作符 28
2.2.3 位操作符 29
2.2.4 其他类型操作符 29
2.2.5 数字类型转换 31
2.2.6 操作符优先级 32
2.2.7 表达式、语句和块 33
2.3 字符串 34
2.3.1 字符串连接 34
2.3.2 修改字符串 35
2.3.3 判断字符串是否相等 36
2.3.4 使用帮助文档 36
2.4.1 if条件语句 39
2.4 控制流 39
2.4.2 for循环语句 40
2.4.3 while/do while循环语句 41
2.4.4 switch分支选择语句 42
2.4.5 break、continue 44
2.5 数组 45
2.5.1 一维数组 45
2.5.2 数组拷贝 48
2.5.3 多维数组 48
习题 50
第3章 类与继承 52
3.1 类和对象 52
3.1.1 类声明 52
3.1.2 类成员 53
3.1.3 关键字this 58
3.1.4 方法重载 59
3.1.5 类继承 60
3.1.6 类的初始化过程 61
3.1.7 源文件 62
3.2 面向对象特性 63
3.2.1 封装性 63
3.2.2 继承性 65
3.2.3 多态性 69
3.3 关键字static 70
3.4 关键字final 72
3.4.1 final变量 72
3.4.2 final方法 72
3.4.3 final类 72
3.5 对象复制 73
3.6 内部类 75
习题 77
第4章 接口、抽象类与包 80
4.1 接口 80
4.1.1 接口定义 80
4.1.2 接口的实现 81
4.1.3 接口作为类型 83
4.1.4 接口不应改变 84
4.2 抽象类 84
4.2.1 抽象方法 84
4.2.2 抽象类 85
4.2.3 抽象类和接口的比较 86
4.3.1 包的作用 88
4.3 包 88
4.3.2 包命名 89
4.3.3 包的使用 90
习题 92
第5章 异常处理 94
5.1 概述 94
5.2 异常处理 94
5.2.1 遭遇异常 94
5.2.2 捕获异常 96
5.2.3 声明方法抛出异常 99
5.3 异常的抛出策略 101
5.3.1 不要声明抛出所有异常 102
5.3.3 保持throws子句的稳定性 103
5.3.2 异常声明的数量 103
5.3.4 异常抛出策略小结 104
5.4 异常的捕获策略 104
5.4.1 混淆的异常 105
5.4.2 代码重构的困难 105
5.4.3 捕获超级异常的合理情形 106
5.4.4 异常捕获策略小结 107
习题 107
第6章 GUI编程 108
6.1 Swing起步 108
6.1.1 Swing概述 108
6.1.2 一个GUI实例 109
6.1.3 面板 110
6.1.4 改变应用程序的观感 113
6.2.1 事件处理简介 114
6.2 AWT事件处理 114
6.2.2 事件处理实例 115
6.2.3 使用事件适配器 118
6.2.4 AWT事件继承关系 120
6.3 布局管理 121
6.3.1 流式布局 121
6.3.2 边框布局 123
6.3.3 网格布局 124
6.3.4 网格袋布局 125
6.4 常用GUI组件 130
6.4.1 标签 130
6.4.2 文本输入类组件 132
6.4.3 选择类组件 139
6.4.4 菜单类组件 145
6.4.5 对话框 151
6.4.6 表格 158
习题 163
第7章 网络编程 165
7.1 网络编程的基本概念 165
7.1.1 网络基础 165
7.1.2 TCP/IP协议簇 165
7.1.3 TCP与UDP 166
7.2 InetAddress类 168
7.2.1 创建InetAddress对象 168
7.2.2 类InetAddress的应用 169
7.3 TCP程序设计 171
7.3.1 Java客户端套接字 171
7.3.2 Java服务器套接字 175
7.4 UDP程序设计 179
7.4.1 DatagramPacket类 180
7.4.2 DatagramSocket类 181
7.5 URL程序设计 186
7.5.1 URL类 186
7.5.2 URLConnetction类 189
习题 191
第8章 Java I/O系统 193
8.1 文件类 193
8.1.1 文件类File 193
8.1.2 文件过滤 197
8.2 Java I/O结构 198
8.2.1 字节流 198
8.2.2 字符流 200
8.3 使用流 201
8.3.1 标准流 201
8.3.2 文件流 203
8.3.3 过滤器流 206
8.3.4 随机访问文件 210
8.3.5 读取器和写出器 211
8.4 对象序列化 213
习题 215
第9章 访问数据库 216
9.1 JDBC简介 216
9.2 建立数据库连接 217
9.2.1 使用JDBC/ODBC桥接驱动程序 218
9.2.2 使用JDBC驱动程序 219
9.2.3 使用配置文件 221
9.3.1 executeUpdate 222
9.3.2 executeQuery 222
9.3 执行SQL语句 222
9.3.3 executeBatch 223
9.4 使用Prepared Statement 225
9.5 事务处理 226
9.6 编写数据库工具类 228
9.7 一个实例 232
9.7.1 数据库 232
9.7.2 布局及功能简介 232
9.7.3 源代码 233
习题 240
10.2 一个简单的例子 242
第10章 多线程 242
10.1 什么是线程 242
10.3 定制线程类 244
10.3.1 继承线程类 244
10.3.2 实现Runnable接口 244
10.4 线程的生命周期 245
10.4.1 创建线程 246
10.4.2 启动线程 246
10.4.3 线程运行 246
10.4.4 线程阻塞 246
10.4.5 终止线程 247
10.5 线程中断 248
10.6 线程的优先级 249
10.6.2 分时方式 250
10.6.1 利己线程 250
10.7 线程同步 251
10.7.1 对象锁 253
10.7.2 可重入锁 254
10.7.3 notifyAll和wait方法 254
习题 256
第11章 项目实践 259
11.1 系统简介 259
11.2 功能设计 259
11.2.1 计量模拟程序 259
11.2.2 结算收费系统 260
11.3 数据库设计 261
11.4.1 计量模拟 263
11.4 代码实现 263
11.4.2 快闪屏 267
11.4.3 系统设置对话框 269
11.4.4 基础资料管理 272
11.4.5 出账、审核及收费 282
11.4.6 运行系统 283
习题 284
附录A 参数传递 285
A.1 传值还是传引用 285
A.2 基本数据类型的参数传递 285
A.3 对象数据类型的参数传递 286
A.3.1 参数为单个对象 286
A.3.2 参数为对象数组 289
附录B 各章习题参考答案 292
参考文献 293