Java语言程序设计
查字典图书网
当前位置: 查字典 > 图书网 > 编程> Java语言程序设计

Java语言程序设计

8.5

作者: [美] Y·Daniel Liang
出版社: 机械工业出版社
原作名: Introduction to Java Programming,Eighth Edition
副标题: 进阶篇(原书第8版)
译者: 李娜
出版年: 2011-6
页数: 528
定价: 79.00元
装帧: 平装
ISBN: 9787111342366



推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

内容简介:

本书是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

展开全文
热门标签:
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •