第一篇 基础篇 3
第1章 Java概述 3
本章学习目标 3
1.1 认识Java语言 3
1.1.1 Java语言的特点 4
1.1.2 Java平台的体系结构 4
1.2 Java运行环境与开发环境 5
1.2.1 Java运行环境 6
1.2.2 安装 6
1.2.3 安装Eclipse开发工具 6
1.3 Java程序举例 8
1.3.1 用Eclipse编写第一个Java Application 8
1.3.2 用Eclipse编写带命令行参数的应用程序 13
习题与思考 15
第2章 Java程序设计基础 16
本章学习目标 16
2.1 标识符和关键字 16
2.1.1 如何定义标识符 16
2.1.2 关键字 17
2.1.3 注释 17
2.2 常量和变量 18
2.2.1 常量 18
2.2.2 变量 18
2.3 基本数据类型 19
2.3.1 布尔类型 19
2.3.2 字符类型 20
2.3.3 整数类型 21
2.3.4 浮点类型 21
2.3.5 各类型数据间的相互转换 22
2.4 运算符 23
2.4.1 算术运算符 23
2.4.2 赋值运算符 25
2.4.3 条件运算符 26
2.4.4 位运算符 26
2.4.5 关系运算符 28
2.4.6 逻辑运算符 28
2.5 表达式 29
2.6 程序控制语句 30
2.6.1 if语句 30
2.6.2 switch语句 31
2.6.3 while与do-while语句 33
2.6.4 for语句 34
2.6.5 break语句 36
2.6.6 continue语句 38
2.6.7 return语句 39
2.6.8 实用案例 40
2.7 实训任务 41
习题与思考 42
第3章 数组 44
本章学习目标 44
3.1 数组使用初探 44
3.2 一维数组 45
3.2.1 定义数组 45
3.2.2 生成数组 45
3.2.3 初始化数组 46
3.2.4 访问数组 46
3.2.5 实用案例 47
3.3 二维数组 47
3.3.1 定义二维数组 48
3.3.2 二维数组元素的引用 48
3.3.3 实用案例 49
3.4 Arrays类 50
3.4.1 Arrays类及基本使用 50
3.4.2 实用案例 52
3.5 数组实训任务 53
习题与思考 54
第4章 类和对象设计 56
本章学习目标 56
4.1 面向对象基础 56
4.2 类和对象初探 58
4.3 定义类 59
4.3.1 定义成员变量 59
4.3.2 定义成员方法 60
4.3.3 方法重载 61
4.4 对象 62
4.4.1 实例化对象 62
4.4.2 初始化对象 62
4.4.3 使用对象 64
4.4.4 使用静态变量和方法 66
4.4.5 清除对象 68
4.4.6 应用程序与命令行参数 68
4.4.7 实用案例 70
4.5 包 71
4.5.1 包的定义 71
4.5.2 包的引入 72
4.6 类及成员修饰符 73
4.6.1 public 73
4.6.2 protected 74
4.6.3 private 75
4.6.4 final 76
4.6.5 实用案例 77
4.7 类和对象实训任务 78
习题与思考 83
第5章 继承与多态 84
本章学习目标 84
5.1 继承使用初探 84
5.2 类的继承 85
5.2.1 继承的实现 85
5.2.2 继承与重写 87
5.2.3 继承与类型转换 90
5.2.4 实用案例 91
5.3 多态性 92
5.3.1 多态性的概念 92
5.3.2 实用案例 94
5.4 抽象类与抽象方法 95
5.4.1 定义抽象类及实现抽象方法 95
5.4.2 实用案例 95
5.5 接口 97
5.5.1 接口定义 97
5.5.2 接口实现 97
5.5.3 实用案例 99
5.6 内部类 100
5.6.1 成员内部类 101
5.6.2 局部内部类 101
5.6.3 静态内部类(嵌套类) 101
5.6.4 匿名内部类 102
5.6.5 实用案例 102
5.7 Java类的高级特性 104
5.7.1 泛型 104
5.7.2 Java类加载机制 107
5.7.3 Java反射机制 108
5.7.4 实用案例 114
5.7.5 Java注解 120
5.8 继承与多态实训任务 123
习题与思考 125
第6章 Java标准类库 128
本章学习目标 128
6.1 Java标准类库简介 128
6.2 字符串String类和StringBuffer类 129
6.2.1 String类 129
6.2.2 StringBuffer类 134
6.2.3 正则表达式 136
6.2.4 实用案例 139
6.3 数据类型包装器类 139
6.3.1 整型包装器类 140
6.3.2 实用案例 141
6.4 System类和Runtime类 142
6.4.1 记录程序执行的时间 142
6.4.2 复制数组 143
6.4.3 内存管理 143
6.4.4 实用案例 144
6.5 Math类和Random类 145
6.5.1 Math类 145
6.5.2 Random类 146
6.5.3 实用案例 147
6.6 日期时间实用工具类 148
6.6.1 Date(日期) 148
6.6.2 Calendar(日历) 149
6.6.3 实用案例 151
6.7 Java集合类 152
6.7.1 集合接口 152
6.7.2 实现List接口的类 154
6.7.3 实现Set接口的类 156
6.7.4 通过迭代接口访问集合类 158
6.7.5 映射接口 160
6.7.6 实现Map接口的类 162
6.8 标准类实训任务 165
习题与思考 167
第二篇 提高篇 171
第7章 异常处理 171
本章学习目标 171
7.1 为什么需要异常处理 171
7.2 异常概述 174
7.2.1 什么是异常 174
7.2.2 异常处理带来的好处 175
7.3 异常处理机制 177
7.3.1 Java的异常处理机制 177
7.3.2 异常类的类层次 178
7.3.3 异常的处理 179
7.3.4 实用案例 182
7.4 自定义异常类 184
7.5 异常处理实训任务 186
习题与思考 187
第8章 输入输出处理 188
本章学习目标 188
8.1 流的作用 188
8.2 流的划分 189
8.3 标准输入输出流 191
8.3.1 标准输入 191
8.3.2 Scanner类封装标准输入流 192
8.3.3 标准输出 193
8.3.4 实用案例 193
8.4 字节流使用 194
8.4.1 File类 194
8.4.2 文件字节流 199
8.4.3 字节过滤流 201
8.4.4 实用案例 203
8.5 字符流使用 205
8.5.1 文件字符流 205
8.5.2 字节流向字符流的转化 206
8.5.3 Scanner封装字符流 208
8.5.4 实用案例 210
8.6 串行化 211
8.6.1 串行化的概念 211
8.6.2 实用案例 212
8.7 输入输出处理实训任务 213
习题与思考 217
第9章 Java多线程 218
本章学习目标 218
9.1 为什么使用多线程 218
9.2 线程的概念 219
9.3 线程的创建 220
9.3.1 采用继承创建线程 220
9.3.2 通过实现接口创建线程 222
9.3.3 实用案例 223
9.4 线程的生命周期及调度 224
9.4.1 线程生命周期 224
9.4.2 线程调度和优先级 226
9.4.3 线程的终止 227
9.4.4 实用案例 229
9.5 多线程互斥与同步 230
9.5.1 线程的互斥 230
9.5.2 线程的同步 234
9.5.3 实用案例 236
9.6 多线程实训任务 238
习题与思考 242
第10章 GUI程序设计 244
本章学习目标 244
10.1 为什么学习GUI程序设计 244
10.2 基于Swing的简单界面设计 245
10.2.1 Swing简介 245
10.2.2 Swing的类层次结构 246
10.2.3 常见GUI组件 247
10.2.4 基于AWT的GUI程序 249
10.3 界面布局 251
10.3.1 无布局管理器布局 251
10.3.2 FlowLayout 253
10.3.3 BorderLayout 254
10.3.4 GridLayout 255
10.3.5 利用可视化工具进行布局 256
10.3.6 实用案例 259
10.4 响应用户事件 261
10.4.1 事件处理的基本过程 261
10.4.2 常用事件与事件监听器类 263
10.4.3 键盘与鼠标事件 265
10.4.4 实用案例 268
10.5 高级组件JTree和JTable 270
10.5.1 JTree组件 270
10.5.2 JTable组件 274
10.5.3 实用案例 277
10.6 GUI程序设计实训任务 279
习题与思考 285
第三篇 网络篇 289
第11章 网络通信 289
本章学习目标 289
11.1 类URL与URLConnection 289
11.2 类InetAddress 294
11.3 Socket通信 296
11.3.1 基于TCP协议的Socket通信 296
11.3.2 实用案例 298
11.3.3 基于UDP的网络通信 302
11.3.4 实用案例 303
11.3.5 基于MulticastSocket实现多点广播 306
11.4 网络通信实训任务 308
习题与思考 309
第12章 JSP与Servlet技术 310
本章学习目标 310
12.1 为什么使用JSP 310
12.2 JSP技术 312
12.2.1 JSP工作原理 312
12.2.2 JSP的构成 314
12.2.3 JSP内建对象 317
12.2.4 实用案例 322
12.3 Servlet技术 324
12.3.1 Servlet介绍 324
12.3.2 Servlet常用接口的使用 325
12.3.3 使用HttpServlet处理客户端请求 329
12.3.4 获得Servlet初始化参数 332
12.3.5 实用案例 334
12.4 JSP和Servlet结合的方法 336
12.4.1 模式一:JSP+JavaBean 336
12.4.2 模式二:JSP+Servlet+JavaBean 336
12.4.3 JSP和Servlet的选择 337
12.4.4 实用案例 337
12.5 JSP与Servlet开发实训任务 339
习题与思考 342
第13章 用Tomcat构建Web站点 343
本章学习目标 343
13.1 Tomcat简介 343
13.2 安装配置Tomcat 344
13.3 编写简单的Web站点 345
13.3.1 配置服务器运行环境 345
13.3.2 新建动态Web工程 346
13.3.3 Web工程的结构 347
13.3.4 新建Servlet和JSP程序 347
13.4 运行Web站点 351
13.5 发布Web站点 352
习题与思考 353
第14章 JDBC技术 354
本章学习目标 354
14.1 为什么需要JDBC 354
14.2 数据库和常用的SQL语句 356
14.3 JDBC的结构 358
14.4 通过JDBC访问数据库 359
14.4.1 加载JDBC驱动程序 359
14.4.2 建立连接 359
14.4.3 执行SQL语句 360
14.4.4 检索结果 360
14.4.5 关闭连接 361
14.4.6 实用案例 361
14.4.7 事务处理 365
14.4.8 实用案例 366
14.5 JDBC实训任务 370
习题与思考 376
第四篇 实例篇 379
第15章 Java应用开发案例 379
本章学习目标 379
15.1 基于Web的简单学生信息管理系统 379
15.1.1 程序的基本结构 379
15.1.2 数据库操作的实现 381
15.1.3 处理Web请求 386
15.1.4 Web页面 388
15.2 推箱子游戏 398
15.2.1 程序的基本结构 398
15.2.2 游戏地图设计 398
15.2.3 程序逻辑 399
15.2.4 绘制游戏界面 404
15.2.5 游戏窗体 406
参考文献 409