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