第1章 Java概述 1
1.1 Java简介 1
1.1.1 Java的发展 1
1.1.2 Java的特点 1
1.2 搭建开发环境 3
1.2.1 下载JDK 6 3
1.2.2 安装JDK 6 4
1.2.3 配置环境变量 5
1.2.4 认识JDK目录结构 6
1.2.5 认识帮助文档API 6
1.3 开发HelloWorld程序 6
1.3.1 编写Java程序 6
1.3.2 编译Java程序 7
1.3.3 运行Java程序 7
1.3.4 分析HelloWorld程序 8
1.4 使用官方开发工具NetBeans 8
1.4.1 下载和安装NetBeans 8
1.4.2 使用NetBeans开发Java程序 8
1.5 使用集成开发工具MyEclipse开发 10
1.5.1 下载和安装MyEclipse 10
1.5.2 使用MyEclipse开发Java程序 10
1.6 疑难解答 13
1.7 问答题 14
第2章 Java数据类型和运算符 15
2.1 基础语言要素 15
2.1.1 标识符 15
2.1.2 关键字 16
2.1.3 注释 16
2.2 数据类型 18
2.2.1 常量和变量 18
2.2.2 整数类型 18
2.2.3 浮点数类型 19
2.2.4 字符类型 20
2.2.5 布尔类型 21
2.2.6 对象数据类型 21
2.3 数据类型转换 21
2.3.1 自动类型转换 21
2.3.2 强制类型转换 22
2.4 运算符和表达式 23
2.4.1 算术运算符 23
2.4.2 自增自减运算符 25
2.4.3 关系运算符 27
2.4.4 逻辑运算符 28
2.4.5 位运算符 29
2.4.6 移位运算符 30
2.4.7 三元条件运算符 30
2.4.8 赋值运算符 31
2.4.9 运算符优先级 32
实训2.1——定义学生属性模型 33
2.5 疑难解答 35
2.6 上机题 36
第3章 流程控制语句 37
3.1 条件语句 37
3.1.1 简略形式的if条件语句 37
3.1.2 完全形式的if条件语句 38
3.1.3 嵌套形式的if条件语句 41
3.1.4 switch多分支语句 42
3.2 循环语句 43
3.2.1 for循环语句 43
3.2.2 嵌套for循环语句 45
3.2.3 while循环语句 45
3.2.4 do-while循环语句 47
3.3 跳转语句 48
3.3.1 break中断语句 48
3.3.2 continue继续语句 48
实训3.1——综合使用控制语句输出实心菱形 49
3.4 疑难解答 52
3.5 上机题 53
第4章 数组 55
4.1 定义数组 55
4.1.1 声明数组 55
4.1.2 创建数组 56
4.1.3 数组的初始化 57
4.2 数组排序 58
4.2.1 数组元素交换 58
4.2.2 冒泡排序算法 59
4.3 多维数组 60
4.3.1 多维数组的定义 60
4.3.2 输出多维数组元素 61
4.4 增强for循环 62
4.5 命令行参数 63
实训4.1——数组在银行账单中的使用 65
4.6 疑难解答 67
4.7 上机题 68
第5章 对象和类 69
5.1 面向对象编程 69
5.1.1 面向对象编程思想 69
5.1.2 什么是对象 70
5.1.3 什么是类 70
5.2 类的定义和对象的创建 70
5.2.1 定义类 70
5.2.2 创建对象 71
5.3 成员变量 72
5.3.1 定义成员变量 72
5.3.2 使用成员变量 72
5.3.3 成员变量的默认初始值 73
5.4 成员方法 74
5.4.1 成员方法的声明和简单调用 74
5.4.2 返回类型 76
5.4.3 参数序列 77
5.4.4 局部变量 77
5.4.5 this引用 78
5.4.6 值调用和引用调用 80
5.5 静态修饰符 81
5.5.1 生命周期 81
5.5.2 静态变量和成员变量的区别 82
5.5.3 静态和成员之间的访问 83
5.5.4 静态块和实例块 84
5.6 访问控制 85
5.6.1 创建包 85
5.6.2 导入包 86
5.6.3 类访问控制 87
5.6.4 成员访问控制 89
5.6.5 Java中的封装性 90
5.7 构造函数 91
5.7.1 无参数构造函数的定义和使用 91
5.7.2 有参数构造函数的定义和使用 92
5.7.3 构造函数间的调用 93
5.7.4 构造函数访问控制 93
5.7.5 Java中的单列模式 94
实训5.1 创建班级和学生模型 94
5.8 疑难解答 97
5.9 上机题 98
第6章 继承和多态 99
6.1 继承的概念 99
6.1.1 什么是继承 99
6.1.2 为什么使用继承 100
6.1.3 继承的结构 101
6.1.4 创建子类对象的流程 102
6.2 this和super在继承中的使用 103
6.2.1 this和super的引用范围 103
6.2.2 使用super()调用父类构造函数 103
6.3 继承中的访问控制符 104
6.3.1 公共访问控制符 105
6.3.2 保护访问控制符和默认访问控制符 105
6.3.3 私有访问控制符 106
6.4 成员变量的继承和隐藏 107
6.4.1 隐藏规则 107
6.4.2 调用隐藏变量 108
6.5 方法的继承和重写 109
6.5.1 重写规则 109
6.5.2 重写方法的访问控制 110
6.5.3 重写方法的返回类型 111
6.5.4 静态方法的继承 112
6.5.5 重写的意义 113
6.6 方法的重载 113
6.6.1 重载规则 114
6.6.2 重载方法的调用 115
6.6.3 重载和重写的区别 116
实训6.1——射击游戏的设计 116
6.7 多态 118
6.7.1 什么是多态 118
6.7.2 类多态和引用范围 119
6.7.3 父类引用调用成员 120
6.7.4 引用的类型转换 121
实训6.2——宠物收容所开发 121
6.8 所有类的父类——Object类 124
6.8.1 认识Object类和类中方法 124
6.8.2 比较方法 125
6.8.3 对象销毁方法 127
6.8.4 Object类型引用 128
6.8.5 instanceof运算符 129
6.9 疑难解答 131
6.10 上机题 132
第7章 抽象类和接口 133
7.1 final最终修饰符 133
7.1.1 最终变量 133
7.1.2 最终方法 134
7.1.3 最终类 135
7.2 抽象类 136
7.2.1 abstract抽象修饰符 136
7.2.2 定义抽象类 136
7.2.3 抽象方法的限制 137
7.2.4 继承中的抽象类和抽象方法 138
7.3 接口 139
7.3.1 接口概念 139
7.3.2 接口的定义和实现 139
7.3.3 接口中变量的设计和使用 140
7.3.4 接口中方法的设计和使用 141
7.3.5 实现多个接口 142
7.3.6 接口的多态 144
7.3.7 接口和抽象类的区别 145
7.4 API中常用接口 145
7.4.1 克隆接口 145
7.4.2 比较排序接口 146
实训7.1——实现计算机USB功能 148
7.5 疑难解答 152
7.6 上机题 153
第8章 异常处理 155
8.1 异常处理相关概念 155
8.1.1 什么是异常 155
8.1.2 什么是异常处理 156
8.2 使用try-catch语句进行异常处理 157
8.2.1 try-catch语句的基本形式 157
8.2.2 对异常弥补处理 158
8.2.3 处理多种异常 159
8.2.4 finally语句 161
8.2.5 try-catch-finally语句的注意点 162
8.3 异常类层次和异常分类 162
8.3.1 异常类层次 162
8.3.2 异常分类 163
8.3.3 多catch语句顺序 163
8.4 抛出异常 164
8.4.1 抛出异常的原因 165
8.4.2 隐性抛出异常 165
8.4.3 显性抛出异常 166
8.4.4 重写方法中的抛出异常 167
8.5 自定义异常 167
8.5.1 创建自定义异常 167
8.5.2 使用自定义异常 169
实训8.1——异常在网站登录模块中的使用 170
8.6 疑难解答 173
8.7 上机题 174
第9章 Java中常用类和接口 175
9.1 字符串类 175
9.1.1 创建字符串对象 175
9.1.2 String类常用方法 176
9.1.3 字符串的不变性 178
9.2 StringBuffer类 178
9.2.1 StringBuffer类的常用方法 179
9.2.2 StringBuffer类和字符串的性能比较 180
9.3 封装类 181
9.3.1 封装类介绍 181
9.3.2 封装类和字符串类相互转换 183
9.3.3 自动装箱拆箱 184
9.4 Math数学类 184
9.4.1 求随机数 185
9.4.2 求相邻整数 185
9.5 日期时间类 186
9.5.1 Date日期时间类 186
9.5.2 日期时间格式化类 187
9.5.3 字符串转换为日期时间 188
9.5.4 Calendar日历类 189
实训9.1——使用日期时间类开发万年历 190
9.6 疑难解答 192
9.7 上机题 193
第10章 数据结构和集合框架 195
10.1 集合和集合框架接口 195
10.1.1 什么是集合 195
10.1.2 集合框架接口 196
10.2 列表(List接口) 196
10.2.1 数组列表 196
10.2.2 迭代器 197
10.2.3 Vector类和数组列表的区别 199
10.2.4 链状列表 199
10.3 集(Set) 201
10.3.1 Set接口和List接口的区别 201
10.3.2 哈希集 201
10.3.3 排序集 203
10.4 映射(Map) 205
10.4.1 哈希映射 205
10.4.2 排序映射 206
实训10.1——集合框架在购物网站里的使用 208
10.5 疑难解答 211
10.6 上机题 212
第11章 文件和IO流操作 213
11.1 目录文件类 213
11.1.1 认识目录文件类 213
11.1.2 显示目录下所有文件 214
11.2 了解IO流 216
11.2.1 什么是IO流 216
11.2.2 IO流分类 216
11.3 字节流 216
11.3.1 文件字节输入流 217
11.3.2 文件字节输出流 218
11.3.3 使用缓冲区对文件进行读写操作 219
11.3.4 基本数据类型流 220
11.4 字符流 222
11.4.1 字符桥流 222
11.4.2 缓冲字符流 223
11.4.3 文件字符流 225
11.4.4 键盘输入 226
11.5 序列化对象 228
11.5.1 序列化接口 228
11.5.2 对象流 228
实训11.1——使用IO流对文件加密解密 230
11.6 疑难解答 233
11.7 上机题 234
第12章 多线程 235
12.1 进程和线程 235
12.1.1 进程和线程的关系 235
12.1.2 调用进程 235
12.2 多线程开发 237
12.2.1 多线程的好处 237
12.2.2 继承父类实现线程 237
12.2.3 实现接口实现线程 238
12.2.4 两种方式的区别 239
12.2.5 实现多线程 239
12.2.6 多线程特点 240
12.2.7 线程的生命周期 241
12.3 对线程的调度 241
12.3.1 线程的优先级 241
12.3.2 睡眠和唤醒 243
12.3.3 线程让步 244
12.3.4 线程加入 245
12.4 线程同步 247
12.4.1 为什么使用线程同步 247
12.4.2 同步块 249
12.4.3 同步方法 250
12.4.4 同步线程的调度 251
实训12.1——生产者和消费者 251
12.5 疑难解答 255
12.6 上机题 256
第13章 数据库开发基础 257
13.1 数据库 257
13.1.1 安装MySQL数据库 257
13.1.2 创建和删除数据库 258
13.1.3 创建和删除数据表 259
13.2 开始JDBC编程 260
13.2.1 数据库应用架构模型 260
13.2.2 JDBC编程的前提条件 260
13.2.3 开发第一个JDBC程序 261
13.3 分析JDBC开发步骤 262
13.3.1 加载驱动 262
13.3.2 建立数据库连接 264
13.3.3 执行数据库操作 266
13.3.4 关闭资源 266
13.4 执行增删改查操作 267
13.4.1 增删改操作 268
13.4.2 查询操作 268
13.4.3 可滚动结果集 270
13.5 预编译语句 272
13.5.1 SQL注入攻击 272
13.5.2 使用预编译语句操作数据库 273
13.6 封装数据库操作 275
13.6.1 封装打开和关闭操作 275
13.6.2 封装增删改查操作 277
实训13.1—JDBC在注册登录模块里的使用 279
13.7 疑难解答 283
13.8 上机题 284
第14章 JDBC高级编程 285
14.1 特殊数据类型操作 285
14.1.1 日期类型 285
14.1.2 大文本类型 287
14.1.3 二进制类型 290
14.2 JDBC事务 292
14.2.1 认识事务 293
14.2.2 编写事务 293
14.2.3 定义事务点 295
14.2.4 批处理 296
14.3 元数据 297
14.3.1 数据库元数据 297
14.3.2 结果集元数据 298
实训14.1——使用事务开发信息录入模块 299
14.4 疑难解答 303
14.5 上机题 304
第15章 界面编程初步 305
15.1 认识界面开发 305
15.1.1 AWT和Swing之间的关系 305
15.1.2 开发第一个界面程序 306
15.2 窗体开发 306
15.2.1 创建窗体 307
15.2.2 认识事件 308
15.2.3 窗体事件 308
15.3 容器和简单控件 309
15.3.1 控件的分类 309
15.3.2 面板 310
15.3.3 标签 311
15.3.4 按钮 312
15.4 布局管理器 313
15.4.1 流布局 314
15.4.2 网格布局 315
15.4.3 边框布局 316
15.4.4 空布局 318
实训15.1——Swing开发简易计算器 320
15.5 疑难解答 324
15.6 上机题 325
第16章 界面开发控件 327
16.1 文本类控件 327
16.1.1 文本框 327
16.1.2 密码框 329
16.1.3 文本区 330
16.2 选择类控件 331
16.2.1 单选按钮 332
16.2.2 复选框 334
16.2.3 列表框 335
16.2.4 下拉列表框 337
16.3 菜单类控件 338
16.3.1 普通界面菜单 338
16.3.2 右键菜单 340
16.4 辅助类控件 341
16.4.1 分割容器 341
16.4.2 滑块 343
16.4.3 进度条 344
实训16.1——使用控件搭建用户注册界面 345
16.5 疑难解答 347
16.6 上机题 348
第17章 网络编程 351
17.1 计算机网络相关概念 351
17.1.1 IP地址和域名 351
17.1.2 服务器和客户机 352
17.1.3 端口和套接字 352
17.1.4 URL 352
17.1.5 TCP/IP协议 352
17.2 网络API介绍 353
17.2.1 URL类 353
17.2.2 InetAddress协议地址类 354
17.2.3 ServerSocket服务器套接字类 355
17.2.4 Socket套接字类 357
17.3 单向通信 359
17.3.1 接收信息的服务器 359
17.3.2 发送信息的客户机 360
17.4 双向通信 362
17.4.1 返回周长值的服务器 362
17.4.2 发送半径值的客户机 364
17.5 多客户机通信 366
17.5.1 处理多客户机请求的服务器 366
17.5.2 发送请求的多客户机 368
实训17.1——网络编程开发聊天室 369
17.6 疑难解答 375
17.7 上机题 376
第18章 Applet网页内嵌界面开发 377
18.1 Applet开发基础 377
18.1.1 认识HTML静态页面语言 377
18.1.2 Applet程序的开发过程 378
18.1.3 开发第一个Applet程序 379
18.1.4 运行Applet程序的方式 380
18.2 执行流程 380
18.2.1 Applet生命周期 380
18.2.2 Applet流程方法 381
18.2.3 Applet安全机制 382
18.3 Applet多媒体编程 383
18.3.1 绘制图形 383
18.3.2 图像处理 384
18.3.3 声音处理 385
18.4 Applet和Application的区别 386
实训18.1——Applet开发一个页面时钟 386
18.5 疑难解答 391
18.6 上机题 392
第19章 学生管理系统 393
19.1 系统设计 393
19.1.1 开发背景 393
19.1.2 需求分析 393
19.1.3 数据库设计 394
19.1.4 系统演示 394
19.2 登录功能实现 396
19.2.1 登录界面设计 396
19.2.2 登录业务功能实现 398
19.3 学生查看自己信息的实现 399
19.3.1 查看自己信息界面设计 399
19.3.2 查看信息功能实现 400
19.4 老师相关操作模块 401
19.4.1 老师操作界面设计 402
19.4.2 添加学生界面设计 403
19.4.3 添加学生功能实现 406
19.4.4 查询指定学生界面设计 407
19.4.5 查询全部学生界面设计 408
19.4.6 查询全部学生功能实现 411
19.4.7 获取平均成绩和及格率功能实现 412
19.5 系统开发总结 414
第20章 航空订票系统 415
20.1 系统设计 415
20.1.1 开发背景 415
20.1.2 需求分析 415
20.1.3 数据库设计 416
20.1.4 系统演示 416
20.2 公共类设计 417
20.2.1 飞行路线类 417
20.2.2 订单类 418
20.3 客户端模块开发 419
20.3.1 查询界面开发 419
20.3.2 连接服务器类设计 420
20.3.3 查询结果界面开发 422
20.3.4 购买界面开发 424
20.4 服务器端模块开发 426
20.4.1 连接类设计 426
20.4.2 服务器业务处理类设计 428
20.4.3 查询指定航班所有乘客 430
20.4.4 查询航班所有乘客类设计 431
20.5 系统开发总结 432