新闻资讯
看你所看,想你所想

Java程式设计与问题求解(第7版)

Java程式设计与问题求解(第7版)

Java程式设计与问题求解(第7版)

《Java程式设计与问题求解(第7版)》是2015年出版的图书,作者是Walter Savitch。

基本介绍

  • 书名:Java程式设计与问题求解
  • 作者:Walter Savitch
  • ISBN:9787302389354
  • 出版社:清华大学出版社
  • 出版时间:2015-04-01

图书信息

Java程式设计与问题求解(第7版)
金名 等译
ISBN:9787302389354
定价:99元
印次:1-1
装帧:平装

内容简介

本书用于程式设计与计算机科学专业的第一门课程。本书不仅介绍Java语法知识,而且通过大量案例研究、编程示例,着重讲授问题求解和编程技术,如循环设计技术、调试技巧、风格技术、抽象数据类型以及面向对象编程技术,包括UML、事件驱动编程以及使用类型参数的泛型编程等。本书不仅在每章中间安排了大量自测题,而且在每章末尾还给出了练习题、编程实践和编程项目,帮助读者掌握和加深所学知识,是高等学校计算机及相关专业以Java为语言讲授计算机科学课程的理想教材。
本书共分15章,前12章採用纸质印刷方式,也就是读者现在看到的内容,后3章放在本书的配套网站上,有多余精力的读者可以直接到该网站阅读和学习这些内容。

前言

本书是由美国加州大学圣地亚哥分校计算机科学系名誉教授、多部C++、Java教材畅销书作者Walter Savitch编写。除本书外,Walter Savitch还着有一系列程式语言教材,都广受欢迎,畅销不衰,被誉为读者最多的计算机程式语言图书作者。
本书第7版与第6版之间主要有如下一些差别
* 每章末尾的编程题分成了编程实践和编程项目。编程实践通常可以直接使用本章介绍的编程思想,用一个比较简短的程式解决。编程实践适合作为实验练习。编程项目需要更强的问题求解能力,解决方法也比编程实践更複杂。编程项目适合作为课后作业。
* 增加了安全编程(如溢出、数组越界)、Java 2D API概述、网路编程、URL类等 内容。
* 新增21个新编程实践和13个新编程项目。
* 新增10个教学视频,使本书的总教学视频达到72个。这些教学视频可以向学生讲解问题求解与编码的过程,帮助学生巩固关键编程概念。
本书由金名主译,陈宗斌、陈河南、贺军、傅强、陈红霞、张景友、易小丽、陈婷、管学岗、王新彦、金惠敏、张海峰、徐晔、戴锋、张德福、张士华、张锁玲、杜明宗、高玉琢、王涛、申川、孙玲、李振国、高德杰、宫飞、侯经国、刘淑妮、张春林、李大成、程明、张路红、张淑芝、孙先国、刘冀得、梁永翔、张广东、郁琪琳、邵长凯、蒲书箴、潘曙光、刘瑞东、李军、蔡建章、李匀、张建安、邓铁洪、徐君、李强、蒋恩俊、杨文保、李强、苏辛、周成兴、魏敬安、朱建波、徐志平、赵杰辉、傅袆、郭碧莲、郭洵、洪晓煜、黄宣达、江松波、柯渝、赖曲芳、廖阳、刘文红、李伟、郭涛、高磊、王振营、冯哲、韩毅、马以辉、李腾、邓卫、邓凡平、周云、董武、郑晓蕊、陈占军、倪泳智、黄虹、吕巧珍、裘蕾、金颖、王嘉佳、吴建伟、宋雁等人也参与了本书的翻译工作,在此一併表示 感谢!
由于水平有限,如有不妥之处,恳请读者指正。

目录

第1章 计算机与Java语言概述 1
1.1 计算机基础 1
1.1.1 硬体和记忆体 1
1.1.2 程式 3
1.1.3 程式语言、编译器、
解释器 4
1.1.4 Java位元组代码 6
1.1.5 类载入器 7
1.2 Java基础 8
1.2.1 Java语言的历史 8
1.2.2 应用程式和小套用
程式 9
1.2.3 第一个Java应用程式 9
1.2.4 编写、编译和运行
Java程式 13
1.3 编程基础 15
1.3.1 面向对象编程 15
1.3.2 算法 17
1.3.3 测试与调试 19
1.3.4 软体重用 20
1.4 图形补充材料 21
1.4.1 一个示例图形小套用
程式 21
1.4.2 图形的大小和位置 23
1.4.3 绘製椭圆和圆 24
1.4.4 绘製弧形 25
1.4.5 运行小应用程式 27
1.5 本章小结 27
练习题 28
编程项目 29
自测题答案 30
第2章 基本计算 33
2.1 变数和表达式 33
2.1.1 变数 33
2.1.2 数据类型 35
2.1.3 Java标识符 37
2.1.4 赋值语句 38
2.1.5 简单输入 41
2.1.6 简单萤幕输出 42
2.1.7 常量 43
2.1.8 具名常量 44
2.1.9 赋值兼容性 45
2.1.10 类型强制转换 46
2.1.11 数学运算符 49
2.1.12 小括弧与优先权
??规则 51
2.1.13 特殊赋值运算符 53
2.1.14 增量和减量运算符 58
2.1.15 增量和减量运算符的
更多介绍 59
2.2 String类 60
2.2.1 字元串常量和变数 60
2.2.2 字元串的拼接 61
2.2.3 String类的方法 62
2.2.4 字元串处理 65
2.2.5 转义字元 66
2.2.6 Unicode字元串 67
2.3 键盘与萤幕的输入输出 68
2.3.1 萤幕输出 69
2.3.2 键盘输入 71
2.3.3 其他输入分隔设定
(选读) 76
2.3.4 使用printf进行格式
化输出(选读) 77
2.4 文档与风格 79
2.4.1 有意义的变数名称 79
2.4.2 注释 79
2.4.3 缩进 82
2.4.4 使用具名常量 82
2.5 图形补充材料 84
2.5.1 运用到图形小套用程
序上的样式规则 85
2.5.2 使用JFrame类创建
Java GUI应用程式 85
2.5.3 JOptionPane类概述 89
2.5.4 以其他数值类型方式
读取输入 96
2.6 本章小结 98
练习题 99
编程实践 101
编程项目 102
自测题答案 105
第3章 程式控制流:分支 109
3.1 if-else语句 109
3.1.1 基本if-else语句 109
3.1.2 布尔表达式 115
3.1.3 比较字元串 119
3.1.4 嵌套if-else语句 123
3.1.5 多分支if-else语句 125
3.1.6 条件运算符
(选读) 131
3.1.7 exit方法 132
3.2 boolean类型 133
3.2.1 布尔变数 133
3.2.2 优先权规则 135
3.2.3 布尔值的输入和
输出 137
3.3 switch语句 138
3.3.1 枚举 144
3.4 图形补充材料 145
3.4.1 指定绘图颜色 146
3.4.2 表达“是”或“否”
提问的对话框 149
3.5 本章小结 151
练习题 151
编程实践 153
编程项目 154
自测题答案 155
第4章 程式控制流:循环 158
4.1 Java循环语句 158
4.1.1 while语句 158
4.1.2 do-while语句 162
4.1.3 for语句 173
4.1.4 在for语句内部声明
变数 178
4.1.5 在for语句中使用
逗号(选读) 179
4.1.6 for-each语句 180
4.2 使用循环编程 181
4.2.1 循环体 181
4.2.2 初始化语句 182
4.2.3 控制循环叠代次数 183
4.2.4 循环中的break语句
和continue语句
(选读) 190
4.2.5 循环错误 192
4.2.6 跟蹤变数 194
4.2.7 断言检查 195
4.3 图形补充材料 197
4.3.1 drawString方法 202
4.4 本章小结 203
练习题 203
编程实践 205
编程项目 207
自测题答案 210
第5章 定义类与方法 215
5.1 类与方法定义 215
5.1.1 类档案与分别编译 217
5.1.2 实例变数 218
5.1.3 方法 220
5.1.4 定义void方法 223
5.1.5 定义返回一个值的
方法 224
5.1.6 关键字this 231
5.1.7 局部变数 233
5.1.8 语句块 235
5.1.9 基本类型参数 235
5.2 信息隐藏与封装 241
5.2.1 信息隐藏 241
5.2.2 前置条件注释与后置
条件注释 241
5.2.3 public与private修
饰符 242
5.2.4 访问器方法和修改器
方法 248
5.2.5 调用方法的方法 255
5.2.6 封装 260
5.2.7 使用javadoc完成
自动文档 263
5.2.8 UML类图 263
5.3 对象和引用 264
5.3.1 类类型变数 264
5.3.2 为类定义equals
方法 269
5.3.3 布尔值方法 274
5.3.4 类类型的参数 278
5.4 图形补充材料 285
5.4.1 Graphics类 285
5.4.2 Graphics2D类与
Java 2D API 289
5.4.3 init方法 291
5.4.4 向小应用程式中添加
标籤 292
5.5 本章小结 295
练习题 296
编程实践 299
编程项目 300
自测题答案 304
第6章 再论对象与方法 310
6.1 构造器 311
6.1.1 定义构造器 311
6.1.2 在构造器中调用
方法 319
6.1.3 从一个构造器中
调用另一个构造
器(选读) 322
6.2 静态变数与静态方法 323
6.2.1 静态变数 323
6.2.2 静态方法 325
6.2.3 将main方法的任务
划分为子任务 330
6.2.4 把main方法添加到
一个类中 331
6.2.5 Math类 334
6.2.6 包装类 336
6.3 编写方法 340
6.3.1 分解 346
6.3.2 解决编译器的关注 347
6.3.3 测试方法 348
6.4 重载 350
6.4.1 重载基础 350
6.4.2 重载与自动类型
转换 353
6.4.3 重载与返回类型 355
6.5 再论信息隐藏 363
6.5.1 私有性泄露 363
6.6 将枚举看作类 367
6.7 包 369
6.7.1 包与导入 369
6.7.2 包名和目录 371
6.7.3 名称冲突 373
6.8 图形补充材料 373
6.8.1 添加按钮 374
6.8.2 事件驱动编程 375
6.8.3 编程按钮 376
6.8.4 添加图示 381
6.8.5 改变可见性 383
6.9 本章小结 386
练习题 387
编程项目 389
自测题答案 392
第7章 数组 399
7.1 数组基础 400
7.1.1 创建和访问数组 400
7.1.2 数组细节 403
7.1.3 实例变数length 406
7.1.4 再论数组下标 408
7.1.5 初始化数组 411
7.2 在类和方法中使用数组 412
7.2.1 下标变数作为方法
参量 420
7.2.2 整个数组作为方法的
参量 422
7.2.3 方法main的参量 423
7.2.4 数组赋值和相等 424
7.2.5 返回数组的方法 427
7.3 使用数组和类进行编程 431
7.3.1 部分填充数组 438
7.4 排序和搜寻数组 439
7.4.1 选择排序 439
7.4.2 其他排序算法 444
7.4.3 搜寻数组 444
7.5 多维数组 445
7.5.1 多维数组基础 446
7.5.2 多维数组参数和
返回值 449
7.5.3 多维数组的Java
表示 451
7.5.4 不规则数组
(选读) 452
7.6 图形补充材料 459
7.6.1 文本域和文本栏位 459
7.6.2 类JTextArea和
JTextField 462
7.6.3 绘製多边形 463
7.7 本章小结 465
练习题 466
编程实践 470
编程项目 472
自测题答案 476
第8章 继承、多态与接口 483
8.1 继承基础 483
8.1.1 派生类 484
8.1.2 覆盖方法定义 488
8.1.3 覆盖和重载 489
8.1.4 final修饰符 489
8.1.5 基类的私有实例变数
和私有方法 490
8.1.6 UML继承图 491
8.2 使用继承编程 493
8.2.1 派生类中的构造器 493
8.2.2 再论this方法 495
8.2.3 调用覆盖方法 495
8.2.4 在Undergraduate中
定义equals方法的
另一种途径 500
8.2.5 类型兼容性 500
8.2.6 Object类 504
8.2.7 更好的equals方法 506
8.3 多态 508
8.3.1 动态绑定与继承 508
8.3.2 与toString动态绑定 511
8.4 接口与抽象类 512
8.4.1 类接口 512
8.4.2 Java接口 513
8.4.3 实现接口 514
8.4.4 接口作为类型使用 516
8.4.5 扩展接口 519
8.4.6 抽象类 535
8.5 图形补充材料 537
8.5.1 JApplet类 538
8.5.2 JFrame类 538
8.5.3 视窗事件和视窗
侦听器 541
8.5.4 ActionLisener接口 542
8.5.5 下一步做什幺 542
8.6 本章小结 543
练习题 544
编程实践 545
编程项目 546
自测题答案 548
第9章 异常处理 552
9.1 基本异常的处理 552
9.1.1 Java中的异常 552
9.1.2 预定义异常类 561
9.2 自定义异常类 563
9.3 异常类深入介绍 572
9.3.1 声明异常(转移
责任) 572
9.3.2 异常的种类 575
9.3.3 错误 576
9.3.4 多个抛出和多个
捕获 577
9.3.5 finally语句块 583
9.3.6 重新抛出
异常(选读) 583
9.4 图形补充材料 595
9.4.1 GUI中的异常 595
9.5 本章小结 599
练习题 599
编程实践 601
编程项目 602
自测题答案 606
第10章 流、档案I/O与网路技术 610
10.1 流与档案I/O概述 610
10.1.1 流的概念 611
10.1.2 为什幺使用档案
进行I/O 611
10.1.3 文本档案和二进制
档案 611
10.2 文本档案I/O 613
10.2.1 创建文本档案 613
10.2.2 往文本档案添加
内容 618
10.2.3 从文本档案读取
数据 620
10.3 操作任意档案的技巧 622
10.3.1 File类 622
10.3.2 使用路径名 624
10.3.3 File类的方法 625
10.3.4 定义打开流的
方法 627
10.4 基本二进制档案I/O 631
10.4.1 创建二进制档案 631
10.4.2 把基本类型的数值
写入二进制档案 633
10.4.3 把字元串写入二
进制档案 636
10.4.4 writeUTF的一些
细节 636
10.4.5 读取二进制档案 637
10.4.6 EOFException类 641
10.5 使用对象和数组进行二
进制档案I/O 648
10.5.1 使用类的对象进行
二进制档案I/O 648
10.5.2 串列化的一些
细节 652
10.5.3 二进制档案中的
数组对象 653
10.6 使用流进行网路通信 655
10.7 图形补充材料 660
10.8 本章小结 666
练习题 666
编程实践 669
编程项目 670
自测题答案 674
第11章 递归 680
11.1 递归基础 680
11.1.1 递归的工作原理 687
11.1.2 无限递归 690
11.1.3 递归方法与叠代
方法的对比 693
11.1.4 返回值的递归
方法 695
11.2 使用递归编程 698
11.3 本章小结 711
练习题 711
编程实践 713
编程项目 714
自测题答案 718
第12章 动态数据结构与泛型 721
12.1 基于数组的数据结构 722
12.1.1 ArrayList类 722
12.1.2 创建ArrayList的
实例 723
12.1.3 使用ArrayList的
方法 724
12.1.4 参数化类和通用
数据类型 730
12.2 Java集合框架 730
12.2.1 Collection接口 730
12.2.2 HashSet类 731
12.2.3 Map接口 732
12.2.4 HashMap类 733
12.3 链式数据结构 735
12.3.1 LinkedList类 735
12.3.2 鍊表 736
12.3.3 实现鍊表操作 738
12.3.4 私有性泄露 744
12.3.5 内部类 745
12.3.6 结点内部类 746
12.3.7 叠代器 746
12.3.8 Java Iterator接口 756
12.3.9 鍊表的异常处理 757
12.3.10 鍊表的变体 759
12.3.11 其他链式数据
结构 761
12.4 泛型 762
12.4.1 泛型基础 762
12.5 本章小结 769
练习题 770
编程实践 773
编程项目 773
自测题答案 777
附录 782
附录1 获得Java 782
附录2 运行小应用程式 782
附录3 protected与包修饰符 783
附录4 DecimalFormat类 784
附录5 javadoc 787
附录6 C++和Java之间的
差别 789
附录7 Unicode字元编码 792

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com