图书介绍
JAVA程序设计教程 原书第3版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)STUARTREGES,MARTYSTEPP著;陈志等译 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111489900
- 出版时间:2015
- 标注页数:667页
- 文件大小:95MB
- 文件页数:686页
- 主题词:JAVA语言-程序设计-教材
PDF下载
下载说明
JAVA程序设计教程 原书第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Java编程简介1
1.1 计算的基本概念1
1.1.1 为什么要编程1
1.1.2 硬件和软件2
1.1.3 数字王国2
1.1.4 程序设计的过程4
1.1.5 为什么选择Java5
1.1.6 Java编程环境5
1.2 现在开始介绍Java6
1.2.1 字符串常量9
1.2.2 System.out.println9
1.2.3 转义序列10
1.2.4 print和println10
1.2.5 标识符和关键字12
1.2.6 一个复杂的例子:DrawFigures113
1.2.7 注释与程序可读性14
1.3 程序中的错误16
1.3.1 语法错误16
1.3.2 逻辑错误18
1.4 过程分解18
1.4.1 静态方法20
1.4.2 控制流程22
1.4.3 调用其他方法的方法24
1.4.4 运行时错误举例26
1.5 案例分析:输出图形27
1.5.1 结构化的版本27
1.5.2 无冗余的最终版本28
1.5.3 执行流程的分析30
本章小结31
第2章 基本数据类型和确定循环32
2.1 数据的基本概念32
2.1.1 基本类型32
2.1.2 表达式33
2.1.3 常值34
2.1.4 算术运算符35
2.1.5 优先级36
2.1.6 类型混用和类型转换38
2.2 变量39
2.2.1 赋值和声明变量42
2.2.2 字符串连接44
2.2.3 增量和减量运算符46
2.2.4 变量和混合类型47
2.3 for循环49
2.3.1 跟踪for循环50
2.3.2 for循环模式52
2.3.3 循环嵌套53
2.4 复杂性管理55
2.4.1 作用域55
2.4.2 伪代码59
2.4.3 类常量61
2.5 案例分析:输出复杂的图形63
2.5.1 问题分解和伪代码63
2.5.2 第一个结构化版本64
2.5.3 增加一个类常量66
2.5.4 进一步修改68
本章小结69
第3章 参数和对象70
3.1 参数70
3.1.1 参数的机制72
3.1.2 参数的限制75
3.1.3 多重参数77
3.1.4 参数和常量79
3.1.5 方法重载79
3.2 具有返回值的方法80
3.2.1 Math类81
3.2.2 编写具有返回值的方法83
3.3 使用对象85
3.3.1 String对象86
3.3.2 交互式程序和Scanner对象90
3.3.3 交互式程序示例92
3.4 案例分析:抛物线轨迹93
3.4.1 非结构化解决方案96
3.4.2 结构化解决方案98
本章小结100
第3G章 图形(选学)101
3G.1 图形简介101
3G.1.1 DrawingPanel101
3G.1.2 绘制线段和图形102
3G.1.3 颜色105
3G.1.4 循环绘图106
3G.1.5 文本和字体108
3G.2 图形处理中的过程分解110
3G.3 案例分析:金字塔113
3G.3.1 非结构的部分解决方案113
3G.3.2 绘制金字塔的通用方法114
3G.3.3 完全的结构化解决方案116
本章小结117
第4章 条件执行118
4.1 if/else语句118
4.1.1 关系运算符119
4.1.2 嵌套if/else语句120
4.1.3 对象的相等性125
4.1.4 构造if/else语句126
4.1.5 多重条件测试127
4.2 积累式算法128
4.2.1 累加和128
4.2.2 最小/最大循环130
4.2.3 使用if计算累加和133
4.2.4 截断错误134
4.3 文本处理136
4.3.1 char类型137
4.3.2 char与int137
4.3.3 积累式文本处理算法138
4.3.4 System.out.printf139
4.4 条件执行的方法142
4.4.1 前提条件和后置条件142
4.4.2 抛出异常143
4.4.3 重温返回值145
4.4.4 推敲执行路径148
4.5 案例分析:计算健康指数150
4.5.1 单人版无结构化解决方案151
4.5.2 两人版无结构化解决方案153
4.5.3 两人版结构化解决方案155
4.5.4 面向过程的程序设计原则158
本章小结161
第5章 程序逻辑和不确定循环162
5.1 while循环162
5.1.1 寻找最小约数的循环163
5.1.2 随机数字165
5.1.3 计算机模拟技术168
5.1.4 do/while循环169
5.2 篱笆桩算法170
5.2.1 哨兵循环171
5.2.2 使用if语句处理篱笆桩172
5.3 布尔类型174
5.3.1 逻辑运算符175
5.3.2 短路特性176
5.3.3 boolean变量和标志180
5.3.4 boolean的禅意181
5.3.5 布尔表达式的非运算183
5.4 用户错误184
5.4.1 初识Scanner对象184
5.4.2 处理用户错误186
5.5 断言和程序逻辑187
5.5.1 分析断言188
5.5.2 断言举例190
5.6 案例分析:猜数字192
5.6.1 无提示的初始版本192
5.6.2 带有提示的随机版本194
5.6.3 健壮的最终版本197
本章小结199
第6章 文件处理201
6.1 读取文件的基本方法201
6.1.1 随处可见的数据201
6.1.2 文件与文件对象202
6.1.3 使用Scanner对象读取文件内容203
6.2 基于标记的文件处理206
6.2.1 文件的结构和处理输入208
6.2.2 Scanner对象的参数211
6.2.3 路径和目录212
6.2.4 一个更复杂的输入文件214
6.3 基于行的处理215
6.4 高级文件处理220
6.4.1 使用PrintStream输出文件内容220
6.4.2 保证文件可读224
6.5 案例分析:邮政编码查询225
本章小结231
第7章 数组232
7.1 数组的基本概念232
7.1.1 创建并遍历数组232
7.1.2 访问数组235
7.1.3 一个使用数组的完整程序237
7.1.4 随机访问240
7.1.5 数组与方法241
7.1.6 for-each循环244
7.1.7 数组初始化245
7.1.8 Arrays类246
7.2 数组遍历算法247
7.2.1 打印数组247
7.2.2 查询与替换249
7.2.3 判断相等性251
7.2.4 逆序数组252
7.2.5 字符串遍历算法255
7.3 引用语义256
7.4 高级数组技术259
7.4.1 移动数组中的元素259
7.4.2 对象数组262
7.4.3 命令行参数263
7.4.4 嵌套循环算法263
7.5 多维数组265
7.5.1 规则的二维数组265
7.5.2 锯齿状二维数组266
7.6 案例分析:本福德定律270
7.6.1 计数器270
7.6.2 完整的程序273
本章小结277
第8章 类279
8.1 面向对象程序设计的基本概念279
8.1.1 类和对象280
8.1.2 Point对象281
8.2 对象的状态与行为282
8.2.1 对象的状态:字段282
8.2.2 对象的行为:方法284
8.2.3 隐含的参数286
8.2.4 修改器和访问器287
8.2.5 toString方法289
8.3 对象的初始化:构造函数290
8.3.1 关键字this293
8.3.2 多个构造函数295
8.4 封装296
8.4.1 私有成员296
8.4.2 类的不变式301
8.4.3 改变类的内部实现303
8.5 案例分析:设计一个表示股票信息的类305
8.5.1 面向对象程序设计讨论305
8.5.2 Stock类的字段和方法声明307
8.5.3 Stock类的构造函数和实例方法的实现308
本章小结311
第9章 继承和接口313
9.1 继承的基本概念313
9.1.1 程序设计之外的层次结构314
9.1.2 扩展类315
9.1.3 重写方法318
9.2 与父类交互320
9.2.1 调用重写的方法320
9.2.2 访问继承的字段320
9.2.3 调用父类的构造函数322
9.2.4 DividendStock类的行为323
9.2.5 Object类325
9.2.6 equals方法326
9.2.7 instanceof关键字328
9.3 多态性329
9.3.1 多态机制331
9.3.2 解析继承代码333
9.3.3 解析复杂的调用关系334
9.4 继承和设计336
9.4.1 继承的误用336
9.4.2 “是一个”和“有一个”关系338
9.4.3 Graphics2D类339
9.5 接口340
9.5.1 形状类的接口341
9.5.2 实现接口342
9.5.3 接口的优点344
9.6 案例分析:设计一组具有层次关系的金融类346
9.6.1 设计类346
9.6.2 初步实现349
9.6.3 抽象类352
本章小结356
第10章 ArrayList357
10.1 ArrayList357
10.1.1 ArrayList的基本操作358
10.1.2 ArrayList的查找方法361
10.1.3 一个完整的ArrayList程序363
10.1.4 向ArrayList添加或删除元素364
10.1.5 使用for-each循环访问ArrayList367
10.1.6 包装类368
10.2 Comparable接口370
10.2.1 自然排序和compareTo方法372
10.2.2 实现Comparable接口374
10.3 案例分析:词汇表比较378
10.3.1 关于程序执行效率的考虑379
10.3.2 版本1:计算词汇量380
10.3.3 版本2:计算重叠部分383
10.3.4 版本3:完整的程序386
本章小结390
第11章 Java的集合框架391
11.1 列表391
11.1.1 集合391
11.1.2 LinkedList与ArrayList392
11.1.3 迭代器394
11.1.4 抽象数据类型397
11.1.5 LinkedList类案例分析:筛法398
11.2 数学集合401
11.2.1 数学集合的概念402
11.2.2 TreeSet与HashSet403
11.2.3 数学集合上的运算404
11.2.4 Set类案例分析:彩票机406
11.3 映射407
11.3.1 基本映射操作408
11.3.2 映射视图(keySet和values)409
11.3.3 TreeMap与HashMap411
11.3.4 Map类案例分析:字数统计411
11.3.5 集合综述413
本章小结414
第12章 递归415
12.1 递归的思想415
12.1.1 一个与编程无关的例子415
12.1.2 将迭代方法改写为递归方法417
12.1.3 递归方法的结构419
12.2 一个更好的递归实例420
12.3 递归函数和数据428
12.3.1 整数的幂运算428
12.3.2 求最大公约数430
12.3.3 目录爬虫434
12.3.4 助手方法437
12.4 递归图形439
12.5 递归回溯442
12.5.1 一个简单的例子:移动路线问题442
12.5.2 8皇后问题445
12.5.3 数独问题450
12.6 案例分析:求解前序表达式453
12.6.1 中序、前序、后序表达式453
12.6.2 计算前序表达式454
12.6.3 完整的程序456
本章小结458
第13章 查找与排序459
13.1 Java类库中的查找与排序459
13.1.1 二分法查找460
13.1.2 排序462
13.1.3 洗牌463
13.1.4 用比较器来自定义顺序464
13.2 程序的复杂度467
13.2.1 实验分析469
13.2.2 算法的复杂度类型471
13.3 查找和排序算法的实现473
13.3.1 顺序查找473
13.3.2 二分法查找474
13.3.3 递归二分法查找476
13.3.4 查找对象479
13.3.5 选择排序479
13.4 案例分析:归并排序算法的实现482
13.4.1 分解与合并数组482
13.4.2 递归的归并排序484
13.4.3 完整的程序487
本章小结489
第14章 栈与队列490
14.1 栈/队列基础490
14.1.1 栈的概念490
14.1.2 队列的概念492
14.2 栈/队列常用操作493
14.2.1 栈与队列互换494
14.2.2 队列元素求和495
14.2.3 栈元素求和496
14.3 栈/队列高级操作498
14.3.1 删除队列中的元素498
14.3.2 比较两个栈499
14.4 案例分析:表达式求值501
14.4.1 标记分解502
14.4.2 求值计算505
本章小结509
第15章 实现集合类511
15.1 简单ArrayIntList类511
15.1.1 添加数值和打印功能511
15.1.2 关于封装的思考515
15.1.3 处理列表的中间内容516
15.1.4 引入另一个构造函数和常量519
15.1.5 前提条件和后置条件520
15.2 更完整的ArrayIntList类523
15.2.1 抛出异常523
15.2.2 方便的方法525
15.3 高级功能527
15.3.1 自动调整列表大小527
15.3.2 添加迭代器528
15.4 ArrayList<E>类533
本章小结536
第16章 链表538
16.1 链表节点538
16.1.1 创建链表539
16.1.2 链表基础操作541
16.1.3 操作节点542
16.1.4 链表遍历545
16.2 链表类547
16.2.1 简单LinkedIntList类547
16.2.2 追加新节点549
16.2.3 操作中间节点551
16.3 复杂的链表操作557
16.4 IntList接口561
16.5 LinkedList<E>类564
16.5.1 链表的变体技术564
16.5.2 链表的迭代器566
16.5.3 其他代码细节568
本章小结570
第17章 二叉树571
17.1 二叉树基础571
17.2 遍历二叉树574
17.3 树的常见操作584
17.3.1 节点求和584
17.3.2 计算树的层数585
17.3.3 计算叶子节点数量586
17.4 二叉搜索树587
17.4.1 二叉搜索树性质587
17.4.2 构建二叉搜索树588
17.4.3 x=change(x)模式591
17.4.4 在树中进行搜索594
17.4.5 二叉搜索树的复杂性597
17.5 SearchTree<E>类597
本章小结600
第18章 高级数据结构602
18.1 散列技术602
18.1.1 利用数组实现数学集合602
18.1.2 散列函数和散列表603
18.1.3 冲突604
18.1.4 再散列608
18.1.5 非整型数据的散列处理610
18.1.6 HashMap的实现612
18.2 优先级队列和堆613
18.2.1 优先级队列613
18.2.2 堆的概述614
18.2.3 从堆中删除元素615
18.2.4 向堆添加元素616
18.2.5 利用数组实现堆617
18.2.6 堆排序620
本章小结621
附录A Java总结622
附录B Java API规范和Javadoc注释631
附录C Java语法补充说明635
索引642
热门推荐
- 15395.html
- 1204907.html
- 1959595.html
- 879546.html
- 657795.html
- 652846.html
- 1145578.html
- 3622173.html
- 2833815.html
- 1803916.html
- http://www.ickdjs.cc/book_2852626.html
- http://www.ickdjs.cc/book_3128459.html
- http://www.ickdjs.cc/book_1921093.html
- http://www.ickdjs.cc/book_3521304.html
- http://www.ickdjs.cc/book_958013.html
- http://www.ickdjs.cc/book_1752998.html
- http://www.ickdjs.cc/book_2553499.html
- http://www.ickdjs.cc/book_1613021.html
- http://www.ickdjs.cc/book_1859807.html
- http://www.ickdjs.cc/book_242755.html