第1章 绪论 1
1.1 Java发展概况 1
1.1.1不断扩展的计算平台 3
1.1.2 Java应用现状 3
1.2为什么选择Java 4
1.3 Java开发环境搭建 5
1.3.1安装JDK 5
1.3.2设置环境变量 9
1.3.3检查是否安装成功 10
1.3.4安装编辑器 10
1.4 DOS操作系统基础 11
1.4.1启动DOS命令提示符 11
1.4.2分区与目录 11
1.4.3显示当前工作目录下的文件和目录 12
1.4.4分区与目录切换 12
1.4.5可执行文件的查找顺序 14
1.5 Hello World程序设计 15
1.5.1编辑源代码 15
1.5.2保存代码 15
1.5.3编译代码 16
1.5.4运行代码 16
1.5.5 Java虚拟机 17
1.5.6 Java工具集 17
1.5.7集成开发环境 18
小结 18
习题 19
第2章Java语法基础 20
2.1数据类型 20
2.1.1整数类型 20
2.1.2浮点数类型 21
2.1.3布尔类型 21
2.1.4字符类型 21
2.1.5特殊的字符串类型 22
2.2常量与变量 22
2.2.1关键字 23
2.2.2常量 23
2.2.3变量 25
2.3分隔符 25
2.3.1注释 25
2.3.2空白符 26
2.3.3普通分隔符 26
2.4表达式和运算符 26
2.4.1算术运算符 27
2.4.2关系运算符 28
2.4.3布尔逻辑运算符 29
2.4.4位运算符 29
2.4.5赋值运算符 31
2.4.6运算符优先级 31
2.5类型转换 32
2.5.1自动转换 33
2.5.2强制转换 33
小结 34
习题 34
第3章Java流程控制 35
3.1顺序流程 35
3.2条件流程 36
3.2.1满足条件执行 36
3.2.2二选一 37
3.2.3条件运算符 38
3.2.4多选一 38
3.2.5 switch 42
3.2.6函数 44
3.3循环流程 51
3.3.1 for循环 51
3.3.2函数递归 53
3.3.3 while循环 54
3.3.4 do…while循环 55
3.3.5循环结构对比分析 56
3.3.6循环嵌套 56
3.3.7 break和continue关键字 57
小结 58
习题 59
第4章 面向对象编程基础 60
4.1面向对象的分析 60
4.1.1数据抽象 60
4.1.2类与对象的概念 61
4.2面向对象的设计与实现 62
4.2.1设计类 62
4.2.2定义类 64
4.2.3创建对象 65
4.2.4访问对象的数据成员 66
4.2.5使用构造方法初始化对象状态值 67
4.2.6使用成员方法模拟对象行为 69
4.3基本类型与对象类型 74
4.3.1值传递 74
4.3.2地址传递 75
4.3.3基本类型转换为对象类型 75
4.3.4 String类型 76
4.3.5 null类型 76
4.3.6判断是否相等 77
4.4其他类型数据成员 77
4.4.1 final数据成员 77
4.4.2 static数据成员 78
4.4.3静态方法 80
小结 81
习题 81
第5章 高级面向对象编程应用 83
5.1包与import 83
5.2详解javac、java和jar 85
5.2.1编译命令javac 85
5.2.2字节码依赖性 86
5.2.3类库制作 89
5.3限定修饰符 91
5.3.1类修饰符 92
5.3.2数据成员修饰符 93
5.3.3成员方法修饰符 96
5.4重载 98
5.4.1成员方法重载 98
5.4.2构造方法重载 99
5.5 this关键字 100
5.6继承 104
5.6.1继承的概念 105
5.6.2继承的实现 107
5.6.3继承的实质 109
5.6.4数据成员的隐藏 110
5.6.5成员方法的覆盖 111
5.6.6类转换 115
5.6.7 super的使用场合 117
5.6.8多态 119
5.7抽象类与接口 121
5.7.1抽象方法与抽象类 121
5.7.2接口 124
5.7.3接口与抽象类的区别 126
5.8对象类与字符串处理类 128
5.8.1 Object类 128
5.8.2字符串处理类 131
5.9 Eclipse IDE应用技巧 135
5.9.1环境搭建 135
5.9.2工作区设置 136
5.9.3工程管理 137
5.9.4编译与执行 140
5.9.5单步调试 140
5.9.6工程备份与恢复 142
5.10 Java Doc 143
小结 144
习题 145
第6章Java异常处理机制 146
6.1异常类与异常对象 146
6.2异常处理与异常处理器 147
6.2.1 try{}语句块 149
6.2.2 catch(){}语句块 149
6.2.3 finall{}语句块 151
6.3常用异常类 152
6.4 throw与throws 153
6.4.1 throw 153
6.4.2 throws 155
6.4.3类库制作与使用 156
小结 156
习题 156
第7章 数组与Java集合框架 157
7.1数组 157
7.1.1一维数组 157
7.1.2二维数组 160
7.2 Java集合框架接口概述 161
7.3 Collection接口 163
7.3.1 Collection接口定义 163
7.3.2 List接口及其实现类 167
7.3.3 Set接口及其实现类 174
7.4集合内元素排序 176
7.4.1对象排序 176
7.4.2自定义对象的排序规则 177
7.4.3 SortedSet 182
7.4.4 Collection便利实现 184
7.4.5算法 184
7.5 Map接口及其实现类 185
7.5.1实现类 186
7.5.2基本操作 188
7.5.3批量操作 189
7.5.4集合视图 190
7.5.5集合操作 191
7.5.6 SortedMap 191
7.6 JCF及其启示 192
小结 193
习题 193
第8章Java输入/输出流 195
8.1 File类 195
8.1.1处理文件和目录 196
8.1.2文件处理 196
8.1.3目录处理 197
8.1.4获取最后修改时间 198
8.1.5系统属性与文件处理 199
8.2字节流 200
8.2.1字节输入流 200
8.2.2字节输出流 203
8.3字符流 209
8.3.1字符输入流 209
8.3.2字符输出流 211
8.3.3字节流与字符流的转换 213
8.4链接流处理类 214
8.4.1字节流类型链接流处理类 214
8.4.2字符流类型链接流处理类 221
8.5配置文件读取 224
小结 227
习题 228
第9章Java多线程 229
9.1线程基础 229
9.2线程状态 231
9.2.1由不存在状态到新建状态 231
9.2.2由新建状态到就绪状态 231
9.2.3由就绪状态到运行状态 232
9.2.4由运行状态到结束状态 233
9.2.5由运行状态到就绪状态 233
9.2.6由运行状态到阻塞状态 233
9.2.7线程状态图 234
9.3线程应用 234
9.3.1定时处理 234
9.3.2定时器API 235
9.3.3从线程外部结束线程 237
9.3.4烧水与泡茶模拟——join()使用示例 239
9.4临界资源的访问 240
9.4.1使用synchronized加锁 241
9.4.2生产者消费者问题 242
9.5线程管理 251
9.5.1守护线程 251
9.5.2线程优先级 251
9.5.3线程组 252
9.5.4线程池 252
9.6线程相关技术 253
9.6.1 volatile 253
9.6.2 ThreadLocal 253
小结 254
习题 254
第10章Java套接字 255
10.1网络基础 255
10.1.1 C/S模式与B/S模式 256
10.1.2 IP地址 257
10.1.3 TCP/IP协议 257
10.2面向连接的Java Socket编程 259
10.2.1建立连接 260
10.2.2利用流进行通信 262
10.2.3 C/S通信示例 262
10.3面向非连接的Java Socket编程 273
10.3.1构建UDP套接字 274
10.3.2使用UDP套接字通信 275
10.3.3单一数据传送的UDP实现 275
10.3.4使用流改进UDP示例 277
小结 284
习题 284
第11章JDBC 285
11.1 JDBC基础 285
11.1.1 MySQL安装与配置 285
11.1.2使用MySQL 287
11.1.3 MySQL管理 289
11.2 JDBC应用 290
11.2.1获取连接 290
11.2.2执行SQL语句 291
11.2.3控制数据库事务 294
11.2.4 PreparedStatement与批任务 295
11.3数据库访问模型 299
11.3.1 DAO模型 299
11.3.2 ORM模型 306
11.3.3数据库连接池模型 307
小结 308
习题 308
第12章 ChatEasy系统的设计与实现 309
12.1 ChatEasy系统问题定义 309
12.2 ChatEasy系统分析与设计 310
12.2.1客户端通信过程分析 310
12.2.2服务器端通信过程分析 312
12.2.3数据封装与解析 313
12.2.4面向接口的设计 317
12.3 ChatEasy系统代码实现 328
12.3.1常数类定义 328
12.3.2客户端实现 328
12.3.3服务器端实现 341
12.4 ChatEasy系统测试 357
小结 360
习题 360