最新公告
  • 开通终身SVIP,享全站不限量下载次数-云资源-集成各类网络资源-正在更新中-预计更新到5W+文章开通SVIP
  • 文章介绍
  • 评价建议
  • 资源名称:Java语言程序设计-进阶篇(原书第8版)PDF

    内容简介:

    本书是Java语言的经典教材,畅销多年不衰。本书全面整合了Java的特性,采用“先讲基础”的教学方式,循序渐进地介绍了程序设计基础、面向对象程序设计、GUI程序设计等。另外,本书还全面且深入地覆盖了一些高级主题,包括算法和数据结构、并发、网络、国际化、高级GUI、数据库和Web程序设计等。

    本书中文版由《Java语言程序设计 基础篇》和《Java语言程序设计 进阶篇》组成。基础篇对应原书的第1~20章,进阶篇对应原书的第21~37章。

     本书特点

    基础篇介绍基础内容,进阶篇介绍高级内容,教师可以按需选择理想的教材。

     全面整合了Java的特性,并对全书的内容进行了修订和更新,以反映Java程序设计方面的最新技术进展。

     提供面向对象程序设计的深入探讨,包含GUI程序设计的基础和扩展实例。

     提供大量实例,实例中都包括问题求解的详细步骤。

     提供大量难易程度不同的习题,在本书配套的网站中还提供了大量的交互式自测题。

    作者简介:

    Y.Daniel Liang 普度大学终身教授,阿姆斯特朗亚特兰大州立大学计算机科学系教授。他所编写的Java教程在美国大学Java课程中采用率极高,同时他还兼任Prentice Hall Java系列丛书的编辑。

    资源目录:

    第21章 泛型 1

     21.1 引言 1

     21.2 动机和优点 1

     21.3 定义泛型类和接口 3

     21.4 泛型方法 4

     21.5 原始类型和向后兼容 5

     21.6 通配泛型 6

     21.7 消除泛型和对泛型的限制 8

     21.8 实例学习:泛型矩阵类 10

    关键术语 14

    本章小结 14

    复习题 15

    编程练习题 16

    第22章 Java集合框架 17

     22.1 引言 17

     22.2 集合 17

     22.3 Collection接口和Abstract-Collection类 18

     22.4 规则集 19

     22.4.1 散列集HashSet 19

     22.4.2 链式散列集LinkedHashSet 23

     22.4.3 树形集TreeSet 23

     22.5 比较器接口Comparator 25

     22.6 线性表 26

     22.7 线性表和集合的静态方法 30

     22.8 规则集和线性表的性能 32

     22.9 向量类Vector和栈类Stack 33

     22.10 队列和优先队列 35

     22.11 图 37

     22.12 单元素和不可变的集合和图 42

    关键术语 42

    本章小结 42

    复习题 43

    编程练习题 46

    第23章 算法效率 49

     23.1 引言 49

     23.2 大O符号 49

     23.3 举例:确定大O 50

     23.4 分析算法的时间复杂度 52

     23.4.1 分析二分查找算法 52

     23.4.2 分析选择排序算法 52

     23.4.3 分析插入排序算法 53

     23.4.4 分析汉诺塔问题 53

     23.4.5 比较常用的增长函数 53

     23.5 实例学习:找出斐波那契数 54

     23.6 实例学习:求最大公约数 56

     23.7 实例学习:找出素数 59

     23.8 实例学习:最近的点对 64

     23.9 预览其他算法 66

    关键术语 66

    本章小结 66

    复习题 67

    编程练习题 68

    第24章 排序 71

     24.1 引言 71

     24.2 冒泡排序 71

     24.3 归并排序 73

     24.4 快速排序 76

     24.5 堆排序 79

     24.5.1 对堆排序 79

     24.5.2 添加一个新结点 80

     24.5.3 删除根结点 80

     24.5.4 Heap类 81

     24.5.5 使用Heap类排序 83

     24.5.6 堆排序的时间复杂度 84

     24.6 桶排序和基数排序 84

     24.7 外部排序 85

     24.7.1 实现第Ⅰ步 86

     24.7.2 实现第Ⅱ步 87

     24.7.3 合并两步 89

     24.7.4 外部排序分析 91

    关键术语 92

    本章小结 92

    复习题 92

    编程练习题 93

    第25章 线性表、栈、队列和优先队列 95

     25.1 引言 95

     25.2 线性表的一般特性 95

     25.3 数组线性表 98

     25.4 链表 102

     25.4.1 结点 103

     25.4.2 LinkedList类 104

     25.4.3 实现MyLinkedList 105

     25.4.4 MyArrayList和MyLinkedList 112

     25.5 链表的变体 112

     25.6 栈和队列 113

     25.7 优先队列 116

     25.8 实例学习:计算表达式 117

    本章小结 121

    复习题 121

    编程练习题 122

    第26章 二叉查找树 125

     26.1 引言 125

     26.2 二叉查找树 125

     26.2.1 表示二叉查找树 126

     26.2.2 查找一个元素 127

     26.2.3 在BST中插入一个元素 127

     26.2.4 树的遍历 128

     26.2.5 BinaryTree类 129

     26.3 删除BST中的一个元素 137

     26.4 Tree的可视化 141

     26.5 迭代器 144

     26.6 实例学习:数据压缩 146

    关键术语 150

    本章小结 150

    复习题 150

    编程练习题 150

    第27章 图及其应用 154

     27.1 引言 154

     27.2 基本的图术语 155

     27.3 图的表示 156

     27.3.1 顶点的表示 156

     27.3.2 边的表示:边的数组 157

     27.3.3 边的表示:Edge对象 157

     27.3.4 边的表示:邻接矩阵 157

     27.3.5 边的表示:邻接线性表 158

     27.4 图建模 159

     27.5 图的可视化 168

     27.6 图的遍历 171

     27.7 深度优先搜索 171

     27.7.1 深度优先搜索算法 171

     27.7.2 深度优先搜索的实现 172

     27.7.3 深度优先搜索的应用 174

     27.8 广度优先搜索 174

     27.8.1 广度优先搜索算法 174

     27.8.2 广度优先搜索的实现 175

     27.8.3 广度优先搜索的应用 177

     27.9 实例学习:九个硬币反面的问题 177

     27.10 实例学习:骑士旅行问题 181

    关键术语 187

    本章小结 187

    复习题 188

    编程练习题 188

    第28章 加权图及其应用 193

     28.1 引言 193

     28.2 加权图的表示 193

     28.2.1 加权边的表示:边数组 193

     28.2.2 加权邻接矩阵 194

     28.2.3 优先邻接链表 194

     28.3 WeightedGraph类 195

     28.4 最小生成树 201

     28.4.1 最小生成树算法 201

     28.4.2 MST算法的实现 203

     28.5 寻找最短路径 206

     28.5.1 最短路径算法 206

     28.5.2 最短路径算法的实现 209

     28.6 实例学习:加权的九枚硬币反面问题 212

    关键术语 215

    本章小结 215

    复习题 215

    编程练习题 216

    第29章 多线程 220

     29.1 引言 220

     29.2 线程的概念 220

     29.3 创建任务和线程 221

     29.4 Thread类 223

     29.5 举例:闪烁文本 225

     29.6 GUI事件分发线程 226

     29.7 实例学习:带音频的时钟 227

     29.8 线程池 230

     29.9 线程同步 232

     29.9.1 synchronized关键字 234

     29.9.2 同步语句 234

     29.10 利用加锁同步 235

     29.11 线程间协作 236

     29.12 实例学习:生产者/消费者 240

     29.13 阻塞队列 242

     29.14 信号量 244

     29.15 避免死锁 245

     29.16 线程的状态 245

     29.17 同步集合 246

     29.18 SwingWorker 247

     29.19 使用JProgressBar显示进度 250

    关键术语 253

    本章小结 253

    复习题 253

    编程练习题 255

    第30章 网络 258

     30.1 引言 258

     30.2 客户端/服务器计算 258

     30.2.1 服务器套接字 259

     30.2.2 客户端套接字 259

     30.2.3 通过套接字进行数据传输 260

     30.2.4 客户端/服务器举例 260

     30.3 InetAddress类 264

     30.4 服务多个客户 265

     30.5 applet客户端 268

     30.6 发送和接收对象 270

     30.7 从Web服务器上读取文件 274

     30.8 JEditorPane类 276

     30.9 实例学习:分布式井字游戏 278

    本章小结 288

    复习题 289

    编程练习题 289

    第31章 国际化 292

     31.1 引言 292

     31.2 Locale类 292

     31.3 显示日期和时间 294

     31.3.1 TimeZone类 294

     31.3.2 DateFormat类 294

     31.3.3 SimpleDateFormat类 295

     31.3.4 DateFormatSymbols类 295

     31.3.5 举例:显示国际时钟 296

     31.3.6 举例:显示日历 299

     31.4 格式化数字 304

     31.4.1 普通数字格式 304

     31.4.2 货币格式 305

     31.4.3 百分比格式 305

     31.4.4 转换数字 306

     31.4.5 DecimalFormat类 306

     31.4.6 举例:格式化数字 306

     31.5 资源包 309

     31.6 字符编码 315

    关键术语 316

    本章小结 316

    复习题 317

    编程练习题 317

    第32章 JavaBeans和bean事件 320

     32.1 引言 320

     32.2 JavaBeans 320

     32.3 bean属性 321

     32.3.1 属性的命名方式 321

     32.3.2 属性和数据域 321

     32.4 Java事件模型回顾 322

     32.4.1 事件类和事件监听器接口 322

     32.4.2 源组件 323

     32.4.3 监听器组件 323

     32.5 创建自定义源组件 324

     32.6 创建自定义事件组 328

    关键术语 332

    本章小结 332

    复习题 332

    编程练习题 333

    第33章 容器、布局管理器和边框 336

     33.1 引言 336

     33.2 Swing容器的结构 336

     33.2.1 JFrame 337

     33.2.2 JApplet 337

     33.2.3 JPanel 338

     33.3 布局管理器 338

     33.3.1 CardLayout 339

     33.3.2 BoxLayout 341

     33.3.3 使用null布局管理器 344

     33.4 创建自定义布局管理器 345

     33.5 JScrollPane 350

     33.6 JTabbedPane 353

     33.7 JSplitPane 355

     33.8 Swing边框 357

    本章小结 364

    复习题 364

    编程练习题 365

    第34章 菜单、工具栏和对话框 368

     34.1 引言 368

     34.2 菜单 368

     34.2.1 创建菜单 368

     34.2.2 图标、热键和快捷键 370

     34.2.3 举例:使用菜单 371

     34.3 弹出式菜单 373

     34.4 JToolBar 375

     34.5 使用Action接口处理动作事件 377

     34.6 JOptionPane对话框 380

     34.6.1 消息对话框 381

     34.6.2 确认对话框 382

     34.6.3 输入对话框 382

     34.6.4 选项对话框 383

     34.6.5 举例:创建JOptionPane

    对话框 384

     34.7 创建自定义对话框 386

     34.8 JColorChooser 389

     34.9 JFileChooser 390

    本章小结 394

    复习题 395

    编程练习题 395

    第35章 MVC和Swing模型 398

     35.1 引言 398

     35.2 MVC 398

     35.3 MVC的变体 404

     35.4 Swing的模型-视图-控件体系结构 404

     35.5 JSpinner 406

     35.6 微调文本域模型和编辑器 407

     35.6.1 SpinnerListModel 408

     35.6.2 SpinnerNumberModel 408

     35.6.3 SpinnerDateModel 409

     35.6.4 微调文本域编辑器 410

     35.6.5 举例:使用微调文本域模型和编辑器 410

     35.7 JList及其模型 412

     35.7.1 JList的构造方法、属性和方法 413

     35.7.2 列表框布局方向 413

     35.7.3 列表框选择模式和列表框选择模型 414

     35.7.4 举例:列表框属性演示 414

     35.8 列表模型 416

     35.9 列表框单元格绘制器 419

     35.10 JComboBox及其模型 422

    关键术语 425

    本章小结 425

    复习题 426

    编程练习题 426

    第36章 JTable和JTree 430

     36.1 引言 430

     36.2 JTable 430

     36.3 表格模型和表格列模型 435

     36.4 自动排序和过滤 438

     36.5 实例学习:修改表格的行和列 440

     36.6 表格绘制器和编辑器 445

     36.7 自定义表格绘制器和编辑器 447

     36.8 表格模型事件 449

     36.9 JTree 452

     36.10 TreeModel和DefaultTreeModel 455

     36.11 TreeNode、MutableTreeNode和DefaultMutableTreeNode 457

     36.12 TreePath和TreeSelection-Model 460

     36.13 实例学习:修改树 462

     36.14 树结点的绘制和编辑 465

     36.15 树事件 467

    本章小结 467

    复习题 467

    编程练习题 468

    第37章 Java数据库程序设计 471

     37.1 引言 471

     37.2 关系数据库系统 471

     37.2.1 关系结构 472

     37.2.2 完整性约束 473

     37.3 SQL 474

     37.3.1 在MySQL上创建用户账户 475

     37.3.2 创建数据库 476

     37.3.3 创建和删除表 476

     37.3.4 简单插入、更新和删除 477

     37.3.5 简单查询 478

     37.3.6 比较运算符和布尔运算符 479

     37.3.7 运算符like、between-and和

    is null 479

     37.3.8 列的别名 480

     37.3.9 算术运算符 480

     37.3.10 显示互不相同的元组 480

     37.3.11 显示有序元组 481

     37.3.12 联结表 481

     37.4 JDBC 482

     37.4.1 使用JDBC开发数据库应用程序 483

     37.4.2 通过Java applet访问数据库 486

     37.5 PreparedStatement 488

     37.6 CallableStatement 491

     37.7 获取元数据 493

     37.7.1 数据库元数据 493

     37.7.2 获取数据库表 494

     37.7.3 结果集元数据 495

    关键术语 496

    本章小结 496

    复习题 497

    编程练习题 498

    附录A Java关键字 500

    附录B ASCII码字符集 501

    附录C 运算符优先级表 502

    附录D Java修饰符 503

    附录E 特殊浮点值 504

    附录F 数系 505


    曙光网云资源 » Java语言程序设计-进阶篇(原书第8版)PDF

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。