图书介绍
Java软件开发PDF|Epub|txt|kindle电子书版本网盘下载
![Java软件开发](https://www.shukui.net/cover/13/34351413.jpg)
- (英)Russel Winder,(英)Graham Roberts著;窦巍译 著
- 出版社: 北京:人民邮电出版社
- ISBN:711511806X
- 出版时间:2004
- 标注页数:765页
- 文件大小:54MB
- 文件页数:789页
- 主题词:JAVA语言-程序设计-高等学校-教材
PDF下载
下载说明
Java软件开发PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 对象和类的编程3
第1章 简介3
1.1 从这里开始3
1.2 Java简史3
目录3
1.3 Java生逢其时5
1.4 Java是什么5
1.5 Java2平台7
1.7 Java的体系结构是平台无关的8
1.6 Java的应用程序和小应用程序8
1.8 Java不是玩笑9
1.9 小结9
第2章 程序设计基础10
2.1 引言10
2.2 语句的顺序11
2.3 迭代13
2.3.1 Java的while语句和复合语句14
2.4 选择语句15
2.3.2 Java的do语句15
2.4.1 Java的if语句16
2.4.2 Java的break语句17
2.5 变量18
2.5.1 变量的命名18
2.5.2 赋值19
2.5.3 变量的类型19
2.5.4 初始化变量20
2.5.6 变量的比较21
2.5.5 变量和类型检查21
2.6 编写一个简单的Java程序(程序1)22
2.7 使用注释24
2.8 输出语句25
2.9 输入语句26
2.10 交互式程序27
2.10.1 程序2——基本的输入输出27
2.10.2 程序3——使用字符串28
2.10.3 程序4——使用表达式30
2.12 复习题34
2.11 小结34
2.13 练习题35
2.14 挑战题36
第3章 向程序中增加结构37
3.1 引言37
3.2 抽象和封装38
3.3 方法38
3.3.1 从方法返回值40
3.3.3 方法的参数41
3.3.2 void方法和类型41
3.3.4 多个方法参数42
3.3.5 递归43
3.4 如何在程序中使用方法44
3.4.1 例程:乘法表程序44
3.4.2 例程:回文程序46
3.5 过程分解50
3.6 封装51
3.6.1 作用域与生存期52
3.6.2 命名与作用域53
3.7.1 递增,递减和赋值运算符54
3.7 更多的运算符54
3.7.2 算术表达式和类型55
3.8 更多的控制语句55
3.8.1 for循环语句55
3.8.2 例程:字符三角形程序56
3.8.3 例程:字符矩形(CharacterRectangle)程序57
3.8.4 switch语句59
3.8.5 例程:二进制转十进制程序60
3.10 复习题64
3.9 小结64
3.11 练习题65
3.12 挑战题66
第4章 画图68
4.1 引言68
4.2 绘图68
4.2.1 画一条线段70
4.2.2 画矩形、正方形、椭圆和圆72
4.2.4 创建新的图形73
4.2.3 其他的标准图形73
4.3 绘图的属性74
4.3.1 颜色74
4.3.2 线宽75
4.3.3 图形的填充75
4.4 绘制文本76
4.5 程序例程77
4.5.1 例程:棋盘程序77
4.5.2 例程:螺旋线程序79
4.5.3 曲线图81
4.6 小结83
4.7 复习题84
4.8 练习题84
4.9 挑战题85
第5章 容器类介绍86
5.1 引言86
5.2 数组86
5.2.1 声明数组87
5.2.2 数组索引88
5.2.3 数组用作参数和返回值89
5.2.4 例程:求平均数程序90
5.2.5 Array类91
5.2.6 多维数组91
5.2.7 数组初始化表达式93
5.2.8 AddUpColumns程序93
5.2.9 字符和字节数组94
5.2.10 main方法的参数95
5.3 容器(Container)类96
5.3.1 ArrayList类97
5.3.2 把数值存入容器98
5.3.3 例程:AverageUsingArrayList99
5.4 数据文件100
5.4.1 基于文本的数据100
5.4.2 用FileInput类读取数据100
5.4.3 用FileOutput类写数据102
5.4.4 例程:显示文本文件103
5.4.5 例程:文件复制104
5.4.6 例程:单词统计107
5.4.7 例程:图形文件108
5.5 小结109
5.6 复习题110
5.7 练习题111
5.8 挑战题111
第6章 类和对象程序设计112
6.1 引言112
6.2 创建新的数据类型112
6.2.1 栈对象113
6.2.2 Stack类114
6.2.3 Java栈类——第一个版本115
6.3 类与类型的关系116
6. 4方法的命名和作用域117
6.5 对象初始化119
6.5.1 实例变量的直接初始化120
6.5.2 构造函数(Constructor)120
6.5.3 实例初始化块121
6.6 对象引用122
6.5.4 多种方法如何选择122
6.6.1 删除旧的对象123
6.6.2 对象与基本类型124
6.6.3 对象与方法参数124
6.6.4 null126
6.6.5 this操作符126
6.6.6 静态变量和静态方法127
6.7 类的几个例子129
6.7.1 例程:Name类129
6.7.2 例程:Matrix类130
6.7.3 例程:Graph类132
6.8 用类和对象进行程序设计136
6.8.1 对象用来提供服务137
6.8.2 类与封装137
6.9 小结138
6.10 复习题138
6.11 练习题139
6.12 挑战题139
7.1 引言140
7.2 关联140
第7章 类关系详述140
7.2.1 对象所有权(OwnerShip)141
7.2.2 有效地使用关联141
7.3 继承性141
7.3.1 使用继承142
7.3.2 protected143
7.3.3 继承和构造函数144
7.3.4 超类144
7.3.5 IntQueue与IntDequeue的实现145
7.3.6 隐藏名称147
7.3.7 静态变量和继承147
7.4 关联与继承之间的抉择148
7.5 继承与类型149
7.6 Object类151
7.6.1 容器类和对象151
7.6.2 Class类和Instanceof运算符154
7.7 方法的覆盖155
7.8 继承的层次体系157
7.9 接口158
7.10 对象的复制和比较160
7.11 嵌入类161
7.12 包161
7.13 例程:再次研究Matrix类163
7.14 可复用性与组件168
7.15 小结169
7.17 练习题170
7.18 挑战题170
7.16 复习题170
第8章 异常和线程171
8.1 异常171
8.1.1 错误的种类171
8.1.2 捕获异常172
8.1.3 抛出异常173
8.1.4 finally块174
8.1.5 使用异常的重要性175
8.1.6 例程:Queue类中使用异常175
8.2 线程——可以一次做多件事情177
8.2.1 使用线程178
8.2.3 线程调度179
8.2.2 线程同步179
8.2.4 一个线程的例子180
8.3 小结183
8.4 复习题183
8.5 练习题184
8.6 挑战题184
9.1 引言185
9.2 面向对象的软件工程185
第9章 程序设计过程185
9.3 为什么要用面向对象方法186
9.3.1 一个比喻——路由计划186
9.3.2 问题域概念187
9.4 编写程序187
9.4.1 概览187
9.4.2 收集用户需求189
9.4.3 分析190
9.4.4 设计、实现和测试194
9.4.6 程序测试与交付195
9.4.5 复审和迭代195
9.4.7 调试196
9.5 维护197
9.6 实践和经验198
9.7 小结和问题198
9.8 复习题199
9.9 练习题199
9.10 挑战题200
10.2 需求和任务场景201
10.1 引言201
第10章 一个程序设计实例201
10.2.1 场景1——开一个新账户202
10.2.2 场景2——结清账户202
10.2.3 场景3——查询账户余额203
10.2.4 场景4——向账户中存款203
10.2.5 场景5——从账户中取款203
10.2.6 场景结果203
10.3 面向对象分析204
10.3.1 寻找合适的类204
10.3.2 修正类206
10.3.3 回顾类的动态行为208
10.3.4 使用CRC209
10.4 程序设计——第一次迭代209
10.4.1 Bank类209
10.4.2 Account类210
10.4.3 Account的子类211
10.4.4 Customer类211
10.4.5 第一次回顾211
10.5.1 Bank类的第二次设计212
10.5 程序设计——第二次迭代212
10.5.2 Account类第二次设计214
10.6 main方法214
10.7 测试215
10.8 设计中不尽人意的地方215
10.9 小结216
10.10 复习题216
10.11 练习题217
10.12 挑战题217
11.1.1 可视化组件和Swing库218
第11章 用户界面设计218
11.1 引言218
11.1.2 Swing和AWT219
11.2 核心的GUI概念219
11.2.1 例程:HelloGoodbye219
11.2.2 创建窗口220
11.2.3 创建Swing GUI组件221
11.2.4 容器和布局(Layout)管理器222
11.2.5 布局管理器优点223
11.2.6 不同的布局管理器224
11.2.7 窗口显示225
11.2.8 事件225
11.2.9 运行和终止HelloGoodbye程序227
11.2.10 HelloGoodbye程序的总结227
11.3 使用GUI作为文本输入228
11.4 实例:一个非常简单的文本编辑器230
11.5 菜单234
11.6 绘图236
11.8 复习题237
11.7 小结237
11.9 练习题238
11.10 挑战题238
第二部分 建立用户类库243
第12章 建立类库243
12.1 引言243
12.2 介绍一个包的体系结构245
12.3 避免假定246
12.4 包的名称247
12.5 如何迭代248
12.6 进行假设251
12.7 次序关系254
12.7.1 第一种实现方式256
12.7.2 另一种替代的实现方法258
12.7.3 第三次实现261
12.7.4 什么样的设计是最好的264
12.8 最重要的问题265
12.9 更多的异常268
12.10 文档和风格268
12.12 复习题269
12.11 小结269
12.13 练习题270
12.14 挑战题270
第13章 序列、Array和List271
13.1 引言271
13.2 Sequence272
13.3 AbstractSequence276
13.4 Array类278
13.5 链表286
13.6 使用单链表287
13.7 使用双向链表296
13.8 如何选择使用305
13.9 小结306
13.10 复习题306
13.11 练习题307
13.12 挑战题307
第14章 队列和栈308
14.1 引言308
14.2 通过一致性来使用抽象309
14.2.1 基于序列的实现310
14.2.2 循环数组的实现315
14.2.3 链表的实现319
14.2.4 使用队列的例子319
14.3 通过继承来使用抽象321
14.4 通过关联来使用抽象321
14.5 类型安全的队列326
14.6 双端队列328
14.7 关于设计方法的思考333
14.8 栈334
14.9 使用栈的例子335
14.10 小结337
14.11 复习题337
14.12 练习题337
14.13 挑战题337
第15章 树338
15.1 引言338
15.2 树的操作340
15.3 有序二叉树353
15.4 其他二叉树360
15.5 小结361
15.6 复习题361
15.7 练习题362
15.8 挑战题362
第16章 堆结构363
16.1 引言363
16.2 插入数据365
16.3 删除数据366
16.4 类的声明367
16.5 使用堆的例子375
16.6 堆的其他方面376
16.7 小结376
16.8 复习题377
16.9 练习题377
第17章 优先级队列378
17.1 引言378
17.2 基于队列数组的优先级队列378
17.3 基于单链表的优先级队列383
17.4 基于堆的优先级队列388
17.5 实现中的一些问题388
17.6 小结389
17.7 复习题389
17.8 练习题389
第18章 集合、关系和映射391
18.1 引言391
18.2 序言:数学术语391
18.3 集合392
18.4 关系398
18.5 映射404
18.6 映射、过程和数组407
18.7 哈希算法409
18.8 开放哈希表411
18.9 链式哈希表412
18.10 利用哈希表构造集合、关系和映射419
18.12 复习题424
18.13 练习题424
18.11 小结424
18.14 挑战题425
第19章 查找426
19.1 引言426
19.2 一些限制426
19.3 线性查找427
19.4 对数查找429
19.5 Collection和JGL中的查找432
19.6 二叉查找树433
19.8 小结434
19.7 利用Hash表进行查找434
19.9 复习题435
19.10 练习题435
19.11 挑战题435
第20章 排序——比较的方法436
20.1 引言436
20.2 比较排序436
20.3 选择排序437
20.4 冒泡排序439
20.5 插入排序440
20.6 快速排序443
20.7 二叉树排序448
20.8 堆排序449
20.9 归并排序450
20.10 在JGL和Collection中的排序453
20.11 小结454
20.12 复习题454
20.13 练习题454
20.14 挑战题455
21.2 分配式排序456
第21章 排序——分配的方法456
21.1 引言456
21.3 统计排序457
21.4 基数排序458
21.5 小结461
21.6 复习题461
21.7 练习题461
21.8 挑战题461
22.1 引言462
第22章 排序——外部排序462
22.2 一些体系结构方面的问题463
22.3 多路平衡归并排序466
22.4 多相归并排序471
22.5 小结477
22.6 复习题477
22.7 练习题477
22.8 挑战题478
23.1 引言481
第23章 案例研究概述481
第三部分 程序开发案例481
23.2 案例研究482
23.3 案例研究的介绍483
第24章 邮件合并系统484
24.1 引言484
24.2 对问题的理解485
24.2.1 初始分析485
24.2.2 初始的设计486
24.2.3 对象488
24.2.4 更详细的设计489
24.2.5 文件和流490
24.3 命令行版本的实现491
24.4 图形用户界面版本的实现492
24.4.1 简介492
24.4.2 用户界面493
24.4.3 可移植性问题497
24.4.4 源代码498
24.4.5 测试518
24.5 小结520
24.6 复习题520
24.7 练习题520
24.8 挑战题520
第25章 行人交叉路口模拟521
25.1 引言521
25.2 最初的问题定义521
25.3.1 交通灯522
25.3.2 车辆指挥灯522
25.3 最初的思考522
25.3.3 行人指挥灯523
25.4 首轮设计524
25.5 第二轮设计534
25.6 第三轮设计546
25.7 第四轮是第三轮的回顾547
25.8 第五轮设计556
25.9 小结556
25.10 复习题556
25.12 挑战题557
25.11 练习题557
第26章 蚁群的模拟558
26.1 引言558
26.2 模拟模型559
26.3 程序说明560
26.4 首次分析和设计561
26.5 第二次设计562
26.6 抽象类框架563
26.6.1 Grid类563
26.6.2 Factory接口566
26.6.3 Patch类567
26.6.4 Turtle类569
26.6.5 Display类570
26.6.6 Control类571
26.6.7 MainLoop类572
26.6.8 RandomGen类573
26.6.9 最后完成的框架573
26.7 具体的类574
26.7.1 AntPath类575
26.7.2 Ant类575
26.7.3 AntWotld类577
26.7.4 AntFactory类578
26.7.5 AntApp类——应用程序类579
26.7.6 AntDisplay类581
26.8 AntStatus类582
26.9 最终完成的程序584
26.11 复习题585
26.10 小结585
26.12 练习题586
26.13 挑战题586
第四部分 Java语言参考589
第27章 Java语言参考589
27.1 简介589
27.2 语法和语义589
27.3 基本描述590
27.4 示例程序590
27.5 小结591
第28章 变量、类型和表达式592
28.1 引言592
28.2 注释592
28.3 标识符596
28.4 Unicode转义符597
28.5 字面量597
28.6 类型(Types)599
28.6.1 基本类型599
28.6.2 引用类型600
28.7 作用域601
28.6.3 自动类型转换601
28.8 变量603
28.8.1 变量声明603
28.8.2 变量初始化604
28.8.3 数组变量606
28.9 表达式和运算符609
28.9.1 基本表达式609
28.9.2 运算符611
28.12 复习题620
28.10 源文件620
28.11 小结620
28.13 练习题621
第29章 程序流程控制622
29.1 引言622
29.2 选择622
29.2.1 If语句622
29.2.2 switch语句626
29.3.1 While循环语句630
29.3 迭代630
29.3.2 do循环语句632
29.3.3 for循环语句634
29.3.4 循环行为检验637
29.4 跳转语句638
29.4.1 break语句638
29.4.2 Continue语句640
29.4.3 return语句642
29.5 递归643
29.8 练习题645
29.6 小结645
29.7 复习题645
第30章 类和包646
30.1 引言646
30.2 类646
30.2.1 类声明646
30.2.2 public、private和protected648
30.2.3 实例变量649
30.2.4 静态变量或类变量650
30.2.5 方法651
30.2.6 静态方法或类方法654
30.2.7 构造函数656
30.2.8 静态初始化器658
30.2.9 关键字this660
30.3 顶层类661
30.4 嵌套类662
30.4.1 嵌套顶层类662
30.4.2 成员类664
30.4.3 局部类667
30.4.4 匿名类670
30.5 包672
30.6 小结674
30.7 复习题674
30.8 练习题675
第31章 继承和接口676
31.1 引言676
31.2 继承676
31.2.1 继承的概念676
31.2.2 关键字Private和Protected与继承性678
31.2.4 方法覆盖(Overriding)680
31.2.3 Final类680
31.2.5 Final方法682
31.2.6 方法调用表达式683
31.2.7 修改后的成员类名字查找688
31.2.8 构造函数与继承690
31.2.9 超类(Super)和隐含命名691
31.2.10 抽象(Abstract)类693
31.2.11 抽象(Abstract)方法694
31.2.12 从类对象继承的方法695
31.3 接口699
31.3.1 接口声明700
31.3.2 实现703
31.4 小结705
31.5 复习题705
31.6 练习题705
第32章 异常处理706
32.1 引言706
32.1.1 异常类706
32.1.2 Try、Catch与Finally708
32.1.4 抛出(Throws)异常声明712
32.1.3 异常的传递712
32.1.5 关键字throw714
32.2 小结716
32.3 复习题716
第33章 线程与并发717
33.1 引言717
33.2 Thread类718
33.3 同步方法722
33.4 同步语句726
33.5 小结727
33.6 复习题727
33.7 练习题727
第五部分 附录731
附录A 术语表731
B.2 基本概念736
B.3 CRC卡片736
附录B CRC分析设计方法736
B.1 引言736
B.4 CRC方法过程737
B.5 一些问题738
B.6 文档738
B.7 设计738
附录C 在线文档740
附录D Java关键字743
E.1 从这里开始744
E.2 编译和运行Java程序744
附录E Java程序编写过程744
E.3 使用Keyboardlnput、Filelnput和FileOutput类745
E.4 使用DrawFrame和Drawpanel类745
E.5 使用CLASSPATH745
附录F Keyboardlnput类747
附录G DrawFrame类750
附录H DrawPanel类752
附录I FileInput类754
附录J FileOutput类758
附录K ADS库761
附录L 参考资料763