实战Java程序设计PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:北京尚学堂科技有限公司编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2018
- ISBN:9787302484981
- 页数:450 页
第1章 Java入门 1
1.1 计算机语言发展史及未来方向 1
1.1.1 计算机己经成为人类大脑的延伸 1
1.1.2 算法是计算机的“灵魂”,编程语言是塑造计算机“灵魂”的工具 2
1.1.3 为什么担心软件开发人才饱和是多余的 3
1.1.4 未来30年必将是软件人才的世界 3
1.2 常用的编程语言 4
1.3 Java语言介绍 6
1.3.1 Java发展简史 6
1.3.2 Java的核心优势 6
1.3.3 Java各版本的含义 7
1.3.4 Java的特性 7
1.3.5 Java应用程序的运行机制 9
1.3.6 JVM、JRE和JDK 9
1.4 Java开发环境搭建 10
1.4.1 JDK的下载和安装 10
1.4.2 环境变量Path的配置 12
1.4.3 JDK安装测试 13
1.5 建立和运行第一个Java程序 13
1.5.1 建立第一个Java程序 13
1.5.2 编译第一个程序时的常见错误 15
1.5.3 总结第一个Java程序 15
1.5.4 最常用的DOS命令 16
1.6 常用的Java开发工具 16
1.7 Eclipse使用10分钟入门 17
1.7.1 下载和安装Eclipse 17
1.7.2 在Eclipse中创建Java项目 18
1.7.3 使用Eclipse开发和运行Java程序 20
1.8 30分钟完成桌球小游戏项目 22
本章总结 28
本章作业 28
第2章 数据类型和运算符 30
2.1 注释 30
2.2 标识符 31
2.3 Java中的关键字/保留字 32
2.4 变量 32
2.4.1 变量的本质 32
2.4.2 变量的分类 33
2.5 常量 35
2.6 基本数据类型 36
2.6.1 整型 36
2.6.2 浮点型 37
2.6.3 字符型 39
2.6.4 布尔型 40
2.7 运算符 40
2.7.1 算术运算符 40
2.7.2 赋值及其扩展赋值运算符 41
2.7.3 关系运算符 42
2.7.4 逻辑运算符 42
2.7.5 位运算符 43
2.7.6 字符串连接符 43
2.7.7 条件运算符 43
2.7.8 运算符优先级问题 44
2.8 数据类型的转换 44
2.8.1 自动类型转换 45
2.8.2 强制类型转换 45
2.8.3 基本类型转换时的常见错误和问题 46
2.9 简单的键盘输入和输出 46
本章总结 47
本章作业 48
第3章 控制语句 50
3.1 条件判断结构 50
3.1.1 if单分支结构 51
3.1.2 if-else双分支结构 52
3.1.3 if-else if-else多分支结构 54
3.1.4 switch多分支结构 55
3.2 循环结构 57
3.2.1 while循环 57
3.2.2 do-while循环 58
3.2.3 for循环 59
3.2.4 嵌套循环 62
3.2.5 break语句和continue语句 63
3.2.6 带标签的break语句和continue语句 64
3.3 语句块 65
3.4 方法 65
3.5 方法的重载 67
3.6 递归结构 68
本章总结 70
本章作业 71
第4章 Java面向对象编程基础 74
4.1 面向过程和面向对象思想 74
4.2 对象的进化史 75
4.3 对象和类的概念 77
4.4 类和对象初步 77
4.4.1 第一个类的定义 78
4.4.2 属性(field成员变量) 78
4.4.3 方法 79
4.4.4 一个典型类的定义和UML图 79
4.5 面向对象的内存分析 80
4.6 对象的使用及内存分析 81
4.7 构造器 82
4.8 构造器的重载 83
4.9 垃圾回收机制 84
4.9.1 垃圾回收的原理和算法 84
4.9.2 通用的分代垃圾回收机制 85
4.9.3 JVM调优和Full GC 86
4.9.4 开发中容易造成内存泄露的操作 86
4.10 this关键字 87
4.11 static关键字 89
4.12 静态初始化块 90
4.13 参数传值机制 91
4.14 包 92
4.14.1 package 92
4.14.2 JDK中的常用包 92
4.14.3 导入类 93
4.14.4 静态导入 94
本章总结 94
本章作业 95
第5章 Java面向对象编程进阶 97
5.1 继承 97
5.1.1 继承的实现 97
5.1.2 instanceof运算符 98
5.1.3 继承的使用要点 99
5.1.4 方法的重写 99
5.2 Object类 100
5.2.1 Object类的基本特性 100
5.2.2 toString方法 101
5.2.3 ==和equals方法 102
5.3 super关键字 103
5.4 封装 104
5.4.1 封装的作用和含义 104
5.4.2 封装的实现——使用访问控制符 106
5.4.3 封装的使用细节 109
5.5 多态 110
5.6 对象的转型 112
5.7 final关键字 113
5.8 抽象方法和抽象类 114
5.9 接口interface 115
5.9.1 接口的作用 115
5.9.2 定义和使用接口 116
5.9.3 接口的多继承 117
5.9.4 面向接口编程 118
5.10 内部类 119
5.10.1 内部类的概念 119
5.10.2 内部类的分类 120
5.11 字符串String 123
5.11.1 String基础 124
5.11.2 String类和常量池 124
5.11.3 阅读API文档 125
5.11.4 String类的常用方法 127
5.11.5 字符串相等的判断 129
5.12 设计模式相关知识 130
5.12.1 开闭原则 130
5.12.2 相关设计模式 130
本章总结 130
本章作业 132
第6章 异常机制 136
6.1 导引问题 136
6.2 异常的概念 137
6.3 异常的分类 138
6.3.1 Error 138
6.3.2 Exception 139
6.3.3 RuntimeException——运行时异常 139
6.3.4 CheckedException己检查异常 143
6.4 异常的处理方式之一:捕获异常 143
6.5 异常的处理方式之二:声明异常(throws子句) 145
6.6 自定义异常 146
6.7 如何利用百度解决异常问题 148
本章总结 148
本章作业 149
第7章 数组 151
7.1 数组概述 151
7.2 创建数组和初始化 151
7.2.1 数组声明 151
7.2.2 初始化 153
7.3 常用数组操作 154
7.3.1 数组的遍历 154
7.3.2 for-each循环 155
7.3.3 数组的复制 155
7.3.4 java.util.Arrays类 156
7.4 多维数组 158
7.5 用数组存储表格数据 160
7.6 冒泡排序算法 161
7.6.1 冒泡排序的基础算法 161
7.6.2 冒泡排序的优化算法 162
7.7 二分法检索 163
本章总结 165
本章作业 166
第8章 常用类 168
8.1 基本数据类型的包装类 168
8.1.1 包装类的基本知识 168
8.1.2 包装类的用途 169
8.1.3 自动装箱和拆箱 170
8.1.4 包装类的缓存问题 172
8.2 字符串相关类 174
8.2.1 String类 174
8.2.2 StringBuffer和StringBuilder 176
8.2.3 不可变和可变字符序列使用陷阱 178
8.3 时间处理相关类 179
8.3.1 Date时间类(java.util.Date) 179
8.3.2 DateFormat类和SimpleDateFormat类 181
8.3.3 Calendar日历类 183
8.4 Math类 186
8.5 File类 188
8.5.1 File类的基本用法 188
8.5.2 递归遍历目录结构和树状展现 191
8.6 枚举 192
本章总结 194
本章作业 194
第9章 容器 197
9.1 泛型 198
9.1.1 自定义泛型 198
9.1.2 容器中使用泛型 198
9.2 Collection接口 199
9.3 List接口 200
9.3.1 List特点和常用方法 200
9.3.2 ArrayList的特点和底层实现 203
9.3.3 LinkedList的特点和底层实现 204
9.3.4 Vector向量 205
9.4 Map接口 205
9.4.1 HashMap和HashTable 206
9.4.2 HashMap底层实现详解 207
9.4.3 二叉树和红黑二叉树 212
9.4.4 TreeMap的使用和底层实现 215
9.5 Set接口 215
9.5.1 HashSet的基本应用 215
9.5.2 HashSet的底层实现 216
9.5.3 TreeSet的使用和底层实现 217
9.6 Iterator接口 218
9.6.1 迭代器介绍 218
9.6.2 使用Iterator迭代器遍历容器元素(List/Set/Map) 218
9.7 遍历集合的方法总结 220
9.8 Collections工具类 221
本章总结 222
本章作业 223
第10章 输入与输出技术 226
10.1 基本概念和I/O入门 227
10.1.1 数据源 227
10.1.2 流的概念 227
10.1.3 第一个简单的I/O流应用程序 228
10.1.4 Java中流的概念细分 230
10.1.5 Java中I/O流类的体系 231
10.1.6 四大I/O抽象类 232
10.2 常用流详解 233
10.2.1 文件字节流 233
10.2.2 文件字符流 235
10.2.3 缓冲字节流 237
10.2.4 缓冲字符流 239
10.2.5 字节数组流 241
10.2.6 数据流 242
10.2.7 对象流 244
10.2.8 转换流 246
10.2.9 随意访问文件流 248
10.3 Java对象的序列化和反序列化 249
10.3.1 序列化和反序列化是什么 249
10.3.2 序列化涉及的类和接口 250
10.3.3 序列化与反序列化的步骤和实例 250
10.4 装饰器模式构建I/O流体系 252
10.4.1 装饰器模式简介 252
10.4.2 I/O流体系中的装饰器模式 253
10.5 Apache IOUtils和FileUtils的使用 253
10.5.1 Apache基金会介绍 254
10.5.2 FileUtils的妙用 254
10.5.3 IOUtils的妙用 258
本章总结 259
本章作业 260
第11章 多线程技术 262
11.1 基本概念 262
11.1.1 程序 262
11.1.2 进程 262
11.1.3 线程 263
11.1.4 线程和进程的区别 264
11.1.5 进程与程序的区别 264
11.2 Java中如何实现多线程 264
11.2.1 通过继承Thread类实现多线程 265
11.2.2 通过Runnable接口实现多线程 266
11.3 线程状态和生命周期 266
11.3.1 线程状态 266
11.3.2 终止线程的典型方式 267
11.3.3 暂停线程执行的常用方法 269
11.3.4 联合线程的方法 270
11.4 线程的基本信息和优先级别 272
11.4.1 获取线程基本信息的方法 272
11.4.2 线程的优先级 273
11.5 线程同步 274
11.5.1 什么是线程同步 274
11.5.2 实现线程同步 275
11.5.3 死锁及解决方案 277
11.6 线程并发协作(生产者-消费者模式) 280
11.7 任务定时调度 284
本章总结 285
本章作业 286
第12章 网络编程 289
12.1 基本概念 289
12.1.1 计算机网络 289
12.1.2 网络通信协议 290
12.1.3 数据封装与解封 291
12.1.4 IP地址与端口 293
12.1.5 URL 294
12.1.6 Socket 294
12.1.7 TCP协议和UDP协议 294
12.2 Java网络编程中的常用类 295
12.2.1 InetAddress 296
12.2.2 InetSocketAddress 297
12.2.3 URL类 297
12.3 TCP通信的实现 298
12.4 UDP通信的实现 308
本章总结 313
本章作业 314
第13章 J20飞机游戏项目 316
13.1 简介 316
13.2 游戏项目基本功能的开发 316
13.2.1 使用AWT技术画出游戏主窗口(0.1版) 317
13.2.2 图形和文本绘制(0.2版) 319
13.2.3 ImageIO实现图片加载技术(0.3版) 319
13.2.4 多线程和内部类实现动画效果(0.4版) 321
13.2.5 双缓冲技术解决闪烁问题(0.4) 324
13.2.6 GameObject类设计(0.5版) 325
13.3 飞机类设计(0.6版) 327
13.3.1 键盘控制原理 328
13.3.2 飞机类:增加操控功能 328
13.3.3 主窗口类:增加键盘监听 329
13.4 炮弹类设计(0.7版) 330
13.4.1 炮弹类的基本设计 330
13.4.2 炮弹任意角度飞行路径 331
13.4.3 容器对象存储多发炮弹 331
13.5 碰撞检测技术(0.8版) 332
13.5.1 矩形检测原理 333
13.5.2 炮弹和飞机碰撞检测 333
13.6 爆炸效果的实现(0.9版) 334
13.6.1 爆炸类的基本设计 335
13.6.2 主窗口类创建爆炸对象 335
13.7 其他功能(1.0版) 337
13.7.1 计时功能 337
13.7.2 学员开发Java基础小项目案例展示和说明 338
第14章 GUI编程——Swing基础 341
14.1 AWT简介 342
14.2 Swing简介 342
14.2.1 javax.swing.JFrame 343
14.2.2 javax.swing.JPanel 347
14.2.3 常用基本控件 349
14.2.4 布局管理器 352
本章总结 357
本章作业 358
第15章 事件模型 359
15.1 事件模型简介及常用事件类型 359
15.1.1 事件控制的过程 359
15.1.2 ActionEvent事件 361
15.1.3 MouseEvent事件 364
15.1.4 KeyEvent事件 366
15.1.5 WindowEvent事件 366
15.2 事件处理的实现方式 367
15.2.1 使用内部类实现事件处理 367
15.2.2 使用适配器实现事件处理 369
15.2.3 使用匿名内部类实现事件处理 372
本章总结 380
本章作业 380
第16章 Swing中的其他控件 382
16.1 单选按钮控件(JRadioButton) 382
16.2 复选框控件(JCheckBox) 385
16.3 下拉列表控件(JComboBox) 386
16.4 表格控件(JTable) 389
16.4.1 JTable的简单应用 390
16.4.2 DefaultTableModel 393
16.5 用户注册案例 396
本章总结 402
本章作业 402
第17章 反射机制 404
17.1 动态语言 404
17.2 反射机制的本质和Class类 404
17.2.1 反射机制的本质 405
17.2.2 java.lang.Class类 406
17.3 反射机制的常见操作 407
17.3.1 操作构造器(Constructor类) 408
17.3.2 操作属性(Field类) 409
17.3.3 操作方法(Method类) 410
17.4 反射机制的效率问题 411
本章总结 412
本章作业 412
第18章 核心设计模式 415
18.1 GoF 23设计模式简介 415
18.2 单例模式 416
18.2.1 饿汉式 417
18.2.2 懒汉式 417
18.2.3 静态内部类式 418
18.2.4 枚举式单例 419
18.2.5 四种单例创建模式的选择 419
18.3 工厂模式 420
18.4 装饰模式 422
18.5 责任链模式 425
18.6 模板方法模式(钩子方法) 429
18.7 观察者模式 431
18.8 代理模式(动态) 433
本章总结 437
本章作业 438
附录 Java 300集大型教学视频目录 440
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《Python3从入门到实战》董洪伟 2019
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019