Java语言程序设计PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:郭克华主编;段桂华副主编
- 出 版 社:北京:清华大学出版社
- 出版年份:2012
- ISBN:9787302263524
- 页数:439 页
第1部分 入门 2
第1章 Java入门 2
本章术语 2
1.1 认识Java 2
1.1.1 认识编程语言 2
1.1.2 Java的来历 3
1.1.3 Java为什么流行 4
1.1.4 Java的三个版本 5
1.1.5 编程前的准备工作 6
1.2 安装JDK 6
1.2.1 获取JDK 6
1.2.2 安装JDK 6
1.2.3 安装目录介绍 7
1.2.4 环境变量设置 8
1.3 开发第一个Java程序 9
1.3.1 如何编写源代码 9
1.3.2 如何将源代码编译成.class文件 10
1.3.3 如何执行.class文件 10
1.3.4 新手常见错误 11
1.4 用Eclipse开发Java程序 12
1.4.1 什么是Eclipse 12
1.4.2 安装Eclipse 12
1.4.3 如何建立项目 13
1.4.4 如何开发Java程序 14
1.4.5 如何维护项目 16
本章知识体系 17
第2部分 程序设计基础第2章 程序设计基础:变量及其运算 20
本章术语 20
2.1 认识变量 20
2.1.1 什么是变量 20
2.1.2 变量有哪些类型 21
2.2 如何使用变量 22
2.2.1 如何使用整型变量 22
2.2.2 如何使用浮点型变量 23
2.2.3 如何使用字符型变量 24
2.2.4 如何使用布尔型变量 26
2.2.5 基本数据类型之间的类型转换 26
2.2.6 基本数据类型和字符串之间的转换 27
2.2.7 变量的作用范围 29
2.3 注释的书写 29
2.4 Java中的运算 30
2.4.1 算术运算 30
2.4.2 赋值运算 32
2.4.3 关系运算 33
2.4.4 逻辑运算 33
2.4.5 运算符的优先级 34
本章知识体系 35
第3章 程序设计基础:流程控制和数组 36
本章术语 36
3.1 判断结构 36
3.1.1 为什么需要判断结构 36
3.1.2 if结构 36
3.1.3 switch结构 40
3.2 认识循环结构 41
3.2.1 为什么需要循环结构 41
3.2.2 while循环 42
3.2.3 do-while循环 43
3.2.4 for循环 43
3.2.5 循环嵌套 44
3.2.6 break和continue 45
3.3 数组 47
3.3.1 为什么需要数组 47
3.3.2 如何定义数组 47
3.3.3 如何使用数组 48
3.3.4 数组的引用性质 50
3.3.5 数组的应用 50
3.3.6 多维数组 51
本章知识体系 53
第4章 实践指导1 54
术语复习 54
4.1 关于变量和数据类型的实践 54
4.2 流程控制和数组的综合实践 56
第3部分 面向对象 66
第5章 面向对象编程1 66
本章术语 66
5.1 认识类和对象 66
5.1.1 为什么需要类 67
5.1.2 如何定义类 67
5.1.3 如何使用类实例化对象 67
5.1.4 如何访问对象中的成员变量 68
5.1.5 对象的引用性质 69
5.2 认识成员函数 70
5.2.1 为什么需要函数 70
5.2.2 如何定义和使用成员函数 71
5.2.3 函数参数的传递 74
5.2.4 认识函数重载 76
5.3 认识构造函数 77
5.3.1 为什么需要构造函数 77
5.3.2 如何定义和使用构造函数 78
本章知识体系 79
第6章 面向对象编程2 80
本章术语 80
6.1 静态变量和静态函数 80
6.1.1 为什么需要静态变量 80
6.1.2 静态变量的常见应用 82
6.1.3 认识静态函数 84
6.1.4 静态代码块 84
6.2 使用封装 85
6.2.1 为什么需要封装 85
6.2.2 如何实现封装 86
6.3 使用包 87
6.3.1 为什么需要包 87
6.3.2 如何将类放在包中 87
6.3.3 如何访问包中的类 89
6.4 使用访问控制修饰符 91
6.4.1 什么是访问控制修饰符 91
6.4.2 类的访问控制修饰符 91
6.4.3 成员的访问控制修饰符 92
6.5 使用类中类 92
本章知识体系 93
第7章 面向对象编程3 94
本章术语 94
7.1 使用继承 94
7.1.1 为什么需要继承 94
7.1.2 如何实现继承 95
7.1.3 继承的底层本质 97
7.2 成员的覆盖 99
7.2.1 什么是成员覆盖 99
7.2.2 成员覆盖有何作用 100
7.3 使用多态性 102
7.3.1 什么是多态 102
7.3.2 如何使用多态性 102
7.3.3 父子类对象的类型转换 104
7.4 抽象类和接口 106
7.4.1 为什么需要抽象类 106
7.4.2 为什么需要接口 107
7.5 其他内容 108
7.5.1 final关键字 108
7.5.2 Object类 108
7.6 一些工具的使用 110
7.6.1 将字节码打包发布 110
7.6.2 文档的使用 113
本章知识体系 115
第8章 实践指导2 116
术语复习 116
8.1 单例模式的设计 116
8.1.1 需求简介 116
8.1.2 不用单例模式的效果 117
8.1.3 最原始的单例模式 117
8.1.4 首次改进 118
8.1.5 再次改进 119
8.1.6 思考题 120
8.2 利用继承和多态扩充程序功能 120
8.2.1 需求简介 120
8.2.2 实现方法 121
8.2.3 出现的问题 122
8.2.4 改进 122
8.2.5 测试 123
第4部分 工具API 126
第9章 Java异常处理 126
本章术语 126
9.1 认识异常 126
9.1.1 生活中的异常 126
9.1.2 软件中的异常 127
9.1.3 为什么要处理异常 128
9.1.4 异常机理 129
9.1.5 常见异常 130
9.2 异常的就地捕获 131
9.2.1 为什么要就地捕获 131
9.2.2 如何就地捕获异常 131
9.2.3 如何捕获多种异常 133
9.2.4 用finally保证安全性 135
9.3 异常的向前抛出 137
9.3.1 为什么要向前抛出 137
9.3.2 如何向前抛出 137
9.4 自定义异常 141
9.4.1 为什么需要自定义异常 141
9.4.2 如何自定义异常 142
本章知识体系 144
第10章 Java常用API1 145
本章术语 145
10.1 数值运算 145
10.1.1 用Math类实现数值运算 145
10.1.2 实现随机数 147
10.2 用String类进行字符串处理 148
10.3 用StringBuffer类进行字符串处理 151
10.4 基本数据类型的包装类 153
10.4.1 认识包装类 153
10.4.2 通过包装类进行数据转换 153
10.5 常用系统类 154
10.5.1 认识System类 154
10.5.2 认识Runtime类 155
本章知识体系 155
第11章 Java常用API2 156
本章术语 156
11.1 认识Java集合 156
11.1.1 为什么需要集合 156
11.1.2 Java中的集合 157
11.2 使用一维集合 158
11.2.1 认识一维集合 158
11.2.2 使用List集合 158
11.2.3 使用Set集合 160
11.2.4 使用Collections类对集合进行处理 163
11.2.5 使用泛型简化集合操作 164
11.3 Java中的二维集合 165
11.3.1 使用Map集合 165
11.3.2 使用Hashtable和Properties 167
11.4 日期操作 167
11.4.1 认识Date类 167
11.4.2 认识Calendar类 168
11.4.3 如何格式化日期 169
11.4.4 更进一步:如何格式化数值 170
本章知识体系 171
第12章 Java多线程开发 172
本章术语 172
12.1 认识多线程 172
12.1.1 为什么需要多线程 172
12.1.2 继承Thread类开发多线程 174
12.1.3 实现Runnable接口开发多线程 176
12.1.4 两种方法有何区别 177
12.2 如何控制线程运行 178
12.2.1 为什么要控制线程运行 178
12.2.2 传统方法的安全问题 179
12.2.3 如何控制线程的运行 179
12.3 线程协作安全 181
12.3.1 什么是线程协作 181
12.3.2 一个有问题的案例 181
12.3.3 如何解决 182
12.4 线程同步安全 183
12.4.1 什么是线程同步 183
12.4.2 一个有问题的案例 183
12.4.3 如何解决 185
12.4.4 小心线程死锁 187
12.5 认识定时器 189
12.5.1 为什么需要定时器 189
12.5.2 如何使用定时器 189
本章知识体系 191
第13章 Java IO操作 192
本章术语 192
13.1 认识IO操作 192
13.2 用File类操作文件 193
13.2.1 认识File类 193
13.2.2 使用File类操作文件 194
13.2.3 使用File类操作目录 195
13.3 字节流的输入输出 196
13.3.1 认识字节流 196
13.3.2 如何读写文件 196
13.3.3 如何读写对象 200
13.4 字符流的输入输出 202
13.4.1 认识字符流 202
13.4.2 如何读写文件 202
13.4.3 如何进行键盘输入 205
13.5 和IO操作相关的其他类 206
13.5.1 用RandomAccessFile类进行文件读写 206
13.5.2 使用Properties类 208
本章知识体系 210
第14章 实践指导3 211
术语复习 211
14.1 字符频率统计软件 211
14.1.1 软件功能简介 211
14.1.2 重要技术 212
14.1.3 项目结构 212
14.1.4 代码编写 213
14.1.5 思考题 215
14.2 文本翻译软件 215
14.2.1 软件功能简介 215
14.2.2 重要技术 216
14.2.3 项目结构 216
14.2.4 代码编写 216
14.2.5 思考题 218
14.3 用享元模式优化程序性能 218
14.3.1 为什么需要享元模式 218
14.3.2 重要技术 219
14.3.3 代码编写 219
14.3.4 思考题 221
第5部分 GUI开发 224
第15章 用Swing开发GUI程序 224
本章术语 224
15.1 认识GUI和Swing 224
15.1.1 什么是GUI 224
15.1.2 什么是Swing 225
15.2 使用窗口 225
15.2.1 用JFrame类开发窗口 225
15.2.2 用JDialog类开发窗口 226
15.3 使用控件 227
15.3.1 什么是控件 227
15.3.2 标签、按钮、文本框和密码框 228
15.3.3 单选按钮、复选框和下拉列表框 230
15.3.4 菜单 231
15.3.5 使用JOptionPane 233
15.3.6 其他控件 234
15.4 颜色、字体和图像 235
15.4.1 如何使用颜色 235
15.4.2 如何使用字体 236
15.4.3 如何使用图片 237
15.5 几个有用的功能 239
15.5.1 如何设置界面的显示风格 239
15.5.2 如何获取屏幕大小 240
15.5.3 如何用默认应用程序打开文件 240
15.5.4 如何将程序显示为系统托盘 241
本章知识体系 241
第16章 Java界面布局管理 242
本章术语 242
16.1 认识布局管理 242
16.1.1 为什么需要布局管理 242
16.1.2 认识LayoutManager 243
16.2 使用FlowLayout 244
16.2.1 什么是FlowLayout 244
16.2.2 如何使用FlowLayout 244
16.3 使用GridLayout 245
16.3.1 什么是GridLayout 245
16.3.2 如何使用GridLayout 246
16.4 使用BorderLayout 247
16.4.1 什么是BorderLayout 247
16.4.2 如何使用BorderLayout 248
16.5 综合案例:计算器 249
16.5.1 案例需求 249
16.5.2 关键技术 249
16.5.3 代码编写 250
16.6 使用空布局 251
16.6.1 什么是空布局 251
16.6.2 如何使用空布局 252
本章知识体系 253
第17章 Java事件处理 254
本章术语 254
17.1 认识事件处理 254
17.1.1 什么是事件 254
17.1.2 事件处理代码的编写 255
17.1.3 另外几种编程风格 257
17.2 处理ActionEvent 258
17.2.1 什么情况发出ActionEvent 258
17.2.2 使用ActionEvent解决实际问题 259
17.3 处理FocusEvent 260
17.3.1 什么情况发出FocusEvent 260
17.3.2 使用FocusEvent解决实际问题 260
17.4 处理KeyEvent 261
17.4.1 什么情况发出KeyEvent 261
17.4.2 使用KeyEvent解决实际问题 261
17.5 处理MouseEvent 262
17.5.1 什么情况发出MouseEvent 262
17.5.2 使用MouseEvent解决实际问题 263
17.6 处理WindowEvent 264
17.6.1 什么情况发出WindowEvent 264
17.6.2 使用WindowEvent解决实际问题 265
17.7 使用Adapter简化开发 266
本章知识体系 267
第18章 实践指导4 268
术语复习 268
18.1 用户管理系统功能简介 268
18.2 关键技术 269
18.2.1 如何组织界面 269
18.2.2 如何访问文件 270
18.2.3 如何保持状态 270
18.2.4 还有哪些公共功能 271
18.3 代码编写 271
18.3.1 编写util包中的类 271
18.3.2 编写frame包中的类 273
18.3.3 编写主函数所在的类 278
18.4 思考题 278
第6部分 Java图形开发第19章 Java绘图:基础知识 280
本章术语 280
19.1 认识Java绘图 280
19.1.1 为什么要学习绘图 280
19.1.2 如何实现绘图 281
19.2 用Graphics进行绘图 282
19.2.1 什么是Graphics 282
19.2.2 如何使用Graphics 283
19.2.3 用Graphics实现绘图 286
19.2.4 一个综合案例 287
19.3 如何绘字符串 289
19.3.1 为什么需要绘字符串 289
19.3.2 如何绘字符串 289
19.3.3 案例:产生验证码 289
19.4 如何绘图片 291
19.4.1 为什么需要绘图片 291
19.4.2 如何绘图片 291
19.4.3 如何进行图片裁剪和缩放 292
19.4.4 如何进行图片旋转 293
本章知识体系 294
第20章 Java绘图:高级知识 295
本章术语 295
20.1 结合键盘事件进行绘图 295
20.1.1 实例需求 295
20.1.2 复习键盘事件 295
20.1.3 代码编写 296
20.1.4 解决重绘问题 297
20.2 结合鼠标事件进行绘图 298
20.2.1 实例需求 298
20.2.2 复习鼠标事件 298
20.2.3 代码编写 298
20.3 动画制作 300
20.3.1 实例需求 300
20.3.2 关键技术 300
20.3.3 代码编写 301
20.3.4 如何使用双缓冲保存图片到文件 303
本章知识体系 306
第21章 实践指导5 307
术语复习 307
21.1 卡通时钟 307
21.1.1 软件功能简介 307
21.1.2 重要技术 307
21.1.3 代码编写 308
21.1.4 思考题 310
21.2 拼图游戏 311
21.2.1 软件功能简介 311
21.2.2 重要技术 311
21.2.3 代码编写 316
21.2.4 思考题 319
第7部分 Java网络编程第22章 用TCP开发网络应用程序 322
本章术语 322
22.1 认识网络编程 322
22.1.1 什么是网络应用程序 322
22.1.2 认识IP地址和端口 323
22.1.3 客户端和服务器 325
22.2 用客户端连到服务器 325
22.2.1 案例介绍 325
22.2.2 如何实现客户端连接到服务器 326
22.2.3 代码编写 328
22.3 利用TCP实现双向聊天系统 329
22.3.1 案例介绍 329
22.3.2 如何实现双向聊天 329
22.3.3 代码编写 332
22.4 利用TCP实现多客户聊天系统 334
22.4.1 案例介绍 334
22.4.2 编写服务器程序 334
22.4.3 编写客户端程序 337
本章知识体系 338
第23章 用UDP开发网络应用程序 339
本章术语 339
23.1 利用UDP实现双向聊天系统 339
23.1.1 案例介绍 339
23.1.2 服务器和客户端是如何交互的 340
23.1.3 如何收发信息 341
23.1.4 代码编写 345
23.2 利用UDP实现多客户聊天系统 347
23.2.1 案例介绍 347
23.2.2 编写服务器程序 348
23.2.3 编写客户端程序 350
本章知识体系 351
第24章 URL编程和Applet开发 352
本章术语 352
24.1 认识URL编程 352
24.1.1 什么是URL 352
24.1.2 认识URL类 353
24.1.3 如何获取网页的内容 353
24.2 认识Applet 355
24.2.1 什么是Applet 355
24.2.2 如何开发Applet 355
24.2.3 如何使用Applet 356
24.3 深入理解Applet 356
24.3.1 Applet是如何运行的 356
24.3.2 Applet功能的限制 357
24.3.3 如何向Applet内传参数 357
本章知识体系 358
第25章 实践指导6 359
术语复习 359
25.1 网络打字游戏功能简介 359
25.2 关键技术 360
25.2.1 如何组织界面 360
25.2.2 客户端如何掉下字母 360
25.2.3 客户端如何实现加减分数 361
25.2.4 客户端如何判断输了 362
25.3 代码编写 363
25.3.1 服务器端 363
25.3.2 客户端 364
第8部分 Java密码编程第26章 Java加密解密 370
本章术语 370
26.1 认识加密 370
26.1.1 为什么需要加密 370
26.1.2 认识加密算法和密钥 371
26.2 实现对称加密 372
26.2.1 什么是对称加密 372
26.2.2 用Java实现对称加密 372
26.3 实现非对称加密 374
26.3.1 什么是非对称加密 374
26.3.2 用Java实现非对称加密 375
26.4 实现单向加密 377
26.4.1 什么是单向加密 377
26.4.2 用Java实现MD5 377
本章知识体系 379
第27章 Java数字签名 380
本章术语 380
27.1 认识数字签名 380
27.1.1 为什么需要数字签名 380
27.1.2 数字签名的过程 381
27.2 实现数字签名 381
27.2.1 发送方生成签名 381
27.2.2 接收方验证签名 383
27.3 利用数字签名解决实际问题 384
27.3.1 解决篡改问题 384
27.3.2 解决抵赖问题 387
本章知识体系 389
第9部分 Java反射 392
第28章 Java反射技术 392
本章术语 392
28.1 为什么要学习反射 392
28.1.1 引入配置文件 392
28.1.2 配置文件遇到的问题 393
28.2 认识Class类 394
28.2.1 什么是Class类 394
28.2.2 如何获取一个类对应的Class对象 394
28.2.3 如何获取类中的成员信息 396
28.3 通过反射机制访问对象 400
28.3.1 如何实例化对象 400
28.3.2 如何给成员变量赋值 402
28.3.3 如何调用成员函数 402
28.4 何时使用反射 403
本章知识体系 404
第29章 实践指导7 405
术语复习 405
29.1 什么是框架 405
29.2 动态异常处理框架 405
29.2.1 框架功能简介 405
29.2.2 重要技术 407
29.2.3 框架代码编写 408
29.2.4 使用该框架 409
29.3 动态对象组装框架 412
29.3.1 框架功能简介 412
29.3.2 引入工厂 413
29.3.3 引入配置文件 414
29.3.4 重要技术 415
29.3.5 框架代码编写 415
29.3.6 使用该框架 416
第10部分 综合案例第30章 综合案例:用TCP技术开发即时通信软件 420
术语复习 420
30.1 即时通信软件功能简介 420
30.1.1 服务器界面 420
30.1.2 客户登录和注册 420
30.1.3 消息收发界面 421
30.1.4 在线名单刷新 422
30.2 项目关键技术 422
30.2.1 传输消息如何表示 422
30.2.2 客户信息如何表示 424
30.2.3 客户文件如何保存在服务器端 425
30.2.4 如何读写客户文件 425
30.2.5 基本模块结构 426
30.3 编写服务器端 427
30.3.1 准备工作 427
30.3.2 编写app.Server类 427
30.3.3 编写app.ChatThread类 428
30.3.4 编写main.Main类 431
30.4 编写客户端 431
30.4.1 准备工作 431
30.4.2 编写app.LoginFrame类 431
30.4.3 编写app.ChatFrame类 433
30.4.4 编写app.RegisterFrame类 436
30.4.5 编写main.Main类 438
30.5 思考题 439
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019