图书介绍
JAVA面向对象程序设计 第3版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)RALPH MORELLI RALPH WALDE著;瞿中 金文标 李伟生译 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302166399
- 出版时间:2008
- 标注页数:744页
- 文件大小:58MB
- 文件页数:761页
- 主题词:JAVA语言-程序设计-教材
PDF下载
下载说明
JAVA面向对象程序设计 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第0章 计算机、对象和Java1
0.1 欢迎2
0.2 什么是计算机2
0.3 网络、Internet和万维网4
0.4 为什么要学习编程5
0.5 编程语言6
0.6 为什么要学习Java7
0.7 什么是面向对象编程9
0.7.1 面向对象编程的基本特征:交互对象9
0.7.2 什么是对象9
0.7.3 属性和值10
0.7.4 操作和消息10
0.7.5 什么是类11
0.7.6 变量和方法12
0.7.7 实例与类变量、类方法12
0.7.8 类层次结构和类继承13
0.7.9 面向对象的原则15
本章小结16
习题18
第1章 Java程序设计与开发21
1.1 概述22
1.2 设计优秀的程序22
1.3 设计一个猜谜程序24
1.3.1 问题分解24
1.3.2 对象设计24
1.3.3 数据、方法与算法26
1.3.4 用Java编写代码28
1.3.5 语法和语义28
1.3.6 测试、调试与修改29
1.3.7 编写易读的程序30
1.4 Java语言元素30
1.4.1 注释31
1.4.2 程序布局32
1.4.3 关键字和标识符32
1.4.4 数据类型和变量33
1.4.5 语句34
1.4.6 表达式和操作符36
1.4.7 类定义37
1.4.8 声明一个实例变量37
1.4.9 定义实例方法38
1.4.10 Java应用程序38
1.4.11 生成和使用对象39
1.4.12 Java applet40
1.4.13 Java类库包40
1.4.14 import语句41
1.4.15 Java中的限定名称41
1.5 编辑、编译与运行Java程序42
1.5.1 Java开发环境42
1.5.2 编辑程序43
1.5.3 编译程序44
1.5.4 运行Java应用程序44
1.5.5 运行Java applet45
1.6 Java库:System和PrintStream46
本章小结48
习题50
第2章 对象的定义、创建和使用55
2.1 概述56
2.2 使用String对象56
2.3 用Graphics对象画图形(选读)59
2.4 类的定义63
2.4.1 Riddle类63
2.4.2 RiddleUser类65
2.4.3 对象实例化:创建Riddle实例66
2.4.4 与Riddle交互66
2.4.5 定义、创建和使用67
2.5 案例学习:模拟两人游戏67
2.5.1 设计OneRowNim类68
2.5.2 定义OneRowNim类69
2.5.3 测试OneRowNim类74
2.5.4 流程控制:方法调用与返回75
2.5.5 跟踪OneRowNim程序76
2.5.6 面向对象设计:基本原则77
2.6 Java库:java.util.Scanner79
2.6.1 用Scanner类进行键盘输入79
2.6.2 使用KeyboardReader类进行键盘输入81
本章小结82
习题84
第3章 方法:与对象进行通信89
3.1 概述90
3.2 给对象传递信息90
3.2.1 实参和形参92
3.2.2 传递一个int值给OneRowNim方法94
3.2.3 传递键盘输入值给takeSticks()95
3.3 构造函数96
3.3.1 默认构造函数97
3.3.2 构造函数重载与方法签名98
3.3.3 构造函数的调用99
3.4 从对象获取信息99
3.4.1 调用一个有返回值的方法100
3.4.2 扩展的OneRowNim类100
3.5 值传递与引用传递102
3.6 控制流:控制结构104
3.6.1 简单的if语句105
3.6.2 if-else语句107
3.6.3 嵌套的if-else多路选择结构108
3.6.4 while结构110
3.7 测试改进后的OneRowNim类112
3.8 Java库:java.lang.Object116
3.9 面向对象设计:继承与多态117
3.10 画线与定义图形方法(选读)118
本章小结120
习题123
第4章 输入/输出:用户界面设计129
4.1 概述130
4.2 用户界面130
4.3 命令行界面131
4.3.1 用BufferedReader实现从键盘输入字符串132
4.3.2 从键盘输入数字133
4.3.3 设计一个键盘读取类134
4.3.4 设计一个命令行界面136
4.4 图形用户界面138
4.4.1 Java的GUI组件139
4.4.2 类继承:超类的扩展140
4.4.3 顶层窗口141
4.4.4 输入、输出和控制的GUI组件143
4.4.5 在顶层窗口中添加GUI组件145
4.4.6 控制GUI的动作146
4.4.7 ActionListener接口148
4.4.8 GUI和计算对象之间的连接149
4.4.9 在Java应用程序中使用GUI151
4.4.10 在Java applet中使用GUI152
4.5 案例学习:The One-Row Nim游戏154
4.5.1 OneRowNim的命令行界面154
4.5.2 为OneRowNim类设计GUI157
4.6 Java库:java.io.File和文件输入(选读)160
本章小结164
习题167
第5章 Java数据与运算符171
5.1 概述172
5.2 布尔数据与运算符173
5.2.1 布尔(或逻辑)运算173
5.2.2 运算优先级与运算结合性174
5.2.3 短路计算175
5.2.4 在OneRowNim中使用布尔类型176
5.3 数值数据与运算符179
5.3.1 数值运算180
5.3.2 运算符优先级183
5.3.3 自增与自减运算符184
5.3.4 赋值运算符186
5.3.5 关系运算符186
5.4 Java库:java.lang.Math188
5.5 数值处理范例189
5.5.1 范例:保留两位小数189
5.5.2 范例:转换华氏温度为摄氏温度190
5.5.3 范例:使用类常量194
5.5.4 面向对象设计:信息隐藏196
5.5.5 范例:One-Row Nim游戏的必胜算法197
5.6 Java库:java.text.NumberFormat200
5.7 字符数据与运算符202
5.7.1 把字符转换为整数203
5.7.2 字典顺序204
5.7.3 关系运算符205
5.8 范例:字符转换205
5.9 问题解决=描述+行为207
本章小结208
习题213
第6章 控制结构219
6.1 概述220
6.2 流控制:循环结构220
6.3 可计数循环221
6.3.1 for结构222
6.3.2 循环边界224
6.3.3 无限循环224
6.3.4 循环缩进225
6.3.5 嵌套循环227
6.4 范例:汽车贷款228
6.5 绘图范例:绘制棋盘230
6.6 条件循环234
6.6.1 再谈while结构235
6.6.2 do-while结构236
6.7 范例:计算平均数239
6.8 范例:数据校验242
6.9 循环设计原则244
6.10 switch多路选择结构245
6.11 面向对象设计:结构化编程248
本章小结255
习题261
第7章 字符串和字符串处理265
7.1 概述266
7.2 String基本知识266
7.2.1 构造String267
7.2.2 字符串连接269
7.2.3 字符串索引270
7.2.4 将数据转换为字符串271
7.3 字符串查找272
7.4 范例:关键字查找274
7.5 Java库:java.lang.StringBuffer275
7.6 检索字符串中的一部分278
7.7 范例:处理名称和口令279
7.8 处理字符串中的每个字符280
7.8.1 差1错误281
7.8.2 范例:字符计数281
7.8.3 范例:倒置字符串282
7.8.4 范例:首字母大写282
7.8.5 其他String方法283
7.9 比较字符串283
7.9.1 对象相同与对象相等的对比285
7.9.2 字符串相同与字符串相等的对比287
7.10 Java库:java.util.StringTokenizer289
7.11 处理图形上下文中的文本(选读)290
7.11.1 Font和FontMetrics类291
7.11.2 字体规格292
7.11.3 范例:文本居中293
本章小结295
习题298
第8章 继承与多态301
8.1 概述302
8.2 Java的继承机制302
8.2.1 使用继承方法303
8.2.2 覆盖继承方法304
8.2.3 静态绑定、动态绑定以及多态305
8.2.4 多态和面向对象设计306
8.2.5 使用super引用超类308
8.2.6 继承和构造函数308
8.3 抽象类、接口以及多态310
8.3.1 实现一个抽象方法311
8.3.2 实现一个Java接口314
8.4 范例:Toggle按钮315
8.5 范例:Ciper类层次结构319
8.5.1 类设计:Caesar类321
8.5.2 算法设计:移位字符322
8.5.3 类设计:Transpose类323
8.5.4 测试和调试324
8.6 案例学习:一个两人游戏的类层次结构325
8.6.1 设计目的325
8.6.2 设计Two Player Game类325
8.6.3 TwoPlayerGame超类327
8.6.4 CLUIPlayableGame接口330
8.6.5 面向对象设计:接口还是抽象类332
8.6.6 修改后的OneRowNim类332
8.6.7 IPlayer接口335
8.6.8 运行OneRowNim337
8.6.9 扩展TwoPlayerGame的层次结构339
8.7 面向对象设计原则344
本章小结345
习题347
第9章 数组与数组处理351
9.1 概述352
9.2 一维数组352
9.2.1 声明和创建数组354
9.2.2 数组分配354
9.2.3 初始化数组357
9.2.4 数组赋值和使用数组值358
9.3 简单的数组例子358
9.4 范例:计算字母频度361
9.4.1 保存一个字母频度的类361
9.4.2 计算字母频度的类362
9.5 数组算法:排序364
9.5.1 插入排序364
9.5.2 选择排序367
9.5.3 算法:交换内存元素368
9.5.4 值传递和引用传递368
9.6 数组算法:查找370
9.6.1 顺序查找370
9.6.2 折半查找371
9.7 二维数组373
9.7.1 二维数组方法376
9.7.2 把部分数组传递给方法377
9.8 多维数组(选学)380
9.9 面向对象设计:多态排序(选学)381
9.10 Java库:java.lang.Vector385
9.11 案例学习:N个玩家的计算机游戏386
9.11.1 ComputerGame类层次386
9.11.2 ComputerGame类387
9.11.3 WordGuess类和WordGuesser类390
9.12 基于GUI的游戏(图形选学)393
9.12.1 GUIPlayableGame接口394
9.12.2 SlidingTilePuzzle395
9.12.3 SlidingGUI类398
本章小结400
习题405
第10章 异常:出现问题的时候409
10.1 概述410
10.2 异常情况处理410
10.2.1 传统的错误处理410
10.2.2 Java的默认异常处理411
10.3 Java的异常体系412
10.3.1 可控式异常和不可控异常413
10.3.2 Exception类415
10.4 处理程序中的异常415
10.4.1 测试、抛出和捕获异常415
10.4.2 分离错误检查和错误处理418
10.4.3 try/throw/catch的语法和语义419
10.4.4 对try/catch/finally指令的限制420
10.4.5 动态作用域法和静态作用域法421
10.4.6 异常的传播:寻找一个catch区块422
10.5 错误处理和健壮程序设计425
10.5.1 打印一条消息并终止426
10.5.2 记录错误并继续426
10.5.3 修复错误并继续426
10.5.4 修复还是不修复429
10.6 创建并抛出你自己的异常433
10.7 Java库:javax.swing.JOptionPane436
本章小结438
习题441
第11章 文件与流:输入/输出技术445
11.1 概述446
11.2 流和文件446
11.2.1 数据层次446
11.2.2 二进制文件和文本文件448
11.2.3 输入和输出流448
11.3 案例学习:读/写文本文件452
11.3.1 文本文件格式452
11.3.2 写入一个文本文件453
11.3.3 代码重用:设计文本文件输出455
11.3.4 读取一个文本文件456
11.3.5 代码重用:设计文本文件输入459
11.3.6 TextIO应用程序460
11.4 File类463
11.4.1 名称和路径463
11.4.2 验证文件名463
11.5 案例学习:读/写二进制文件465
11.5.1 写二进制数据466
11.5.2 读二进制数据469
11.5.3 BinaryIO应用程序471
11.5.4 从文件中提取数据474
11.6 对象序列化:读/写对象475
11.7 Java库:javax.swing.JFileChooser479
11.8 在程序中使用文件数据480
本章小结483
习题485
第12章 递归问题求解489
12.1 概述490
12.1.1 替代循环功能的递归调用490
12.1.2 利用递归求解问题492
12.2 递归的定义492
12.2.1 阶乘:N!492
12.2.2 嵌套图案的绘制493
12.3 递归的字符串方法495
12.3.1 输出字符串495
12.3.2 逆序输出字符串497
12.3.3 字符串中的字符计数499
12.3.4 转换字符串501
12.3.5 输出掷N枚硬币时的所有可能结果502
12.4 数组的递归处理504
12.4.1 利用递归进行顺序查找504
12.4.2 信息隐藏506
12.4.3 利用递归实现选择排序507
12.5 范例:绘制(递归的)分形509
12.5.1 嵌套正方形510
12.5.2 Sierpinski垫片511
12.6 面向对象设计:尾递归513
12.7 面向对象设计:递归还是迭代514
12.8 Java库:javax.swing.JComboBox516
本章小结521
习题525
第13章 图形用户界面529
13.1 概述530
13.2 Java GUI:从AWT到Swing530
13.3 Swing组件集532
13.4 面向对象设计:模型-视图-控制器结构533
13.5 Java事件模型535
13.6 案例学习:设计基本的GUI539
13.6.1 米制转换器应用程序539
13.6.2 内部类和适配器类543
13.6.3 GUI设计缺点544
13.6.4 扩展基本GUI:按钮数组546
13.6.5 GUI设计缺点550
13.7 容器和布局管理器551
13.7.1 布局管理器551
13.7.2 GridLayout管理器552
13.7.3 GUI设计缺点553
13.7.4 BorderLayout管理器553
13.8 复选框、单选按钮和边框556
13.8.1 复选框和单选按钮数组557
13.8.2 Swing边框559
13.8.3 BoxLayout管理器559
13.8.4 ItemListener接口560
13.8.5 OrderApplet程序561
13.9 菜单和滚动条564
13.9.1 添加菜单栏到应用程序564
13.9.2 菜单层次565
13.9.3 处理菜单行为566
13.9.4 添加滚动条到文本区568
本章小结572
习题575
第14章 线程和并发编程577
14.1 概述578
14.2 什么是线程578
14.2.1 线程的并发执行579
14.2.2 多线程编号580
14.3 Java库:java.lang.Thread582
14.3.1 线程控制584
14.3.2 线程优先级584
14.3.3 强制线程睡眠585
14.3.4 多线程的异步特征586
14.4 线程状态与生命周期587
14.5 运用线程改善界面的响应性能588
14.5.1 单线程设计588
14.5.2 多线程绘图:Dotty线程592
14.5.3 多线程设计的优越之处595
14.6 案例学习:协作线程596
14.6.1 问题描述596
14.6.2 设计:TakeANumber类597
14.6.3 Java监视器和互斥598
14.6.4 Customer类599
14.6.5 Clerk类600
14.6.6 Bakery类601
14.6.7 问题:临界区603
14.6.8 运用wait/notify来协调线程606
14.7 案例学习:Pong游戏609
14.7.1 多线程设计609
14.7.2 Pong程序的实现611
14.7.3 KeyListener接口613
14.7.4 弹球动画615
本章小结616
习题618
第15章 套接字和网络621
15.1 概述622
15.2 网络概述622
15.2.1 网络的规模和拓扑结构622
15.2.2 互联网络623
15.2.3 网络协议624
15.2.4 客户端/服务器应用程序625
15.2.5 较低层的网络协议626
15.2.6 java.net包627
15.3 在applet中使用网络资源628
15.4 Java库:java.net.URL629
15.5 放映幻灯片的applet630
15.5.1 SlideShowApplet类632
15.5.2 Timer类634
15.6 在应用程序中使用网络资源635
15.6.1 从Web上下载文本文件635
15.6.2 代码重用644
15.7 通过socket进行客户端/服务器通信644
15.7.1 服务器协议645
15.7.2 客户端协议646
15.7.3 双向流通信647
15.8 案例学习:通用客户端/服务器类648
15.8.1 面向对象设计649
15.8.2 EchoServer类651
15.8.3 EchoClient类654
15.9 开发网络版One-Row Nim游戏658
15.9.1 NimServer类661
15.9.2 NimClient类663
15.9.3 测试Nim服务664
15.10 Java网络安全约束664
15.11 Java Servlet和Java Server Page(JSP)665
15.11.1 Java Server Pages666
15.11.2 Java servlet667
15.11.3 一个简单的servlet程序668
15.11.4 Nim servlet669
15.11.5 设置并使用Java Servlets673
本章小结673
习题675
第16章 数据结构:列表、栈和队列677
16.1 概述678
16.2 链表数据结构678
16.2.1 使用引用来链接对象678
16.2.2 范例:动态电话链表680
16.2.3 操作电话列表682
16.3 面向对象设计:链表ADT689
16.4 栈ADT695
16.4.1 Stack类696
16.4.2 测试Stack类697
16.5 队列ADT698
16.6 Java库:Java集合框架和泛型701
16.6.1 Java中的泛型701
16.6.2 List〈E〉接口和LinkedList〈E〉类703
16.7 使用Set和Map接口705
16.7.1 使用Set接口705
16.7.2 使用接口Map〈K,V〉707
16.8 二叉查找树数据结构708
本章小结710
习题714
附录A 编码约定717
附录B Java开发工具包724
附录C ASCII码和Unicode字符集732
附录D Java关键字733
附录E 运算符的优先级结构734
附录F Java内部类735
附录G 自动装箱和枚举740
附录H Java和UML资源744
热门推荐
- 3039403.html
- 2552281.html
- 370121.html
- 593077.html
- 3885225.html
- 3466211.html
- 3385467.html
- 290796.html
- 1289712.html
- 3171232.html
- http://www.ickdjs.cc/book_2834468.html
- http://www.ickdjs.cc/book_786872.html
- http://www.ickdjs.cc/book_1519085.html
- http://www.ickdjs.cc/book_2385088.html
- http://www.ickdjs.cc/book_2972687.html
- http://www.ickdjs.cc/book_182114.html
- http://www.ickdjs.cc/book_2223121.html
- http://www.ickdjs.cc/book_779462.html
- http://www.ickdjs.cc/book_3200699.html
- http://www.ickdjs.cc/book_1084277.html