商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
|
Java软件开发(第3版) |
|
|
|
Java软件开发(第3版) |
|
基本信息·出版社:人民邮电出版社
·页码:716 页
·出版日期:2008年07月
·ISBN:7115174628/9787115174628
·条形码:9787115174628
·版本:第2版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:国外著名高等院校信息科学与技术优秀教材
内容简介 本书是专门为Java软件开发课程编写的教材,旨在帮助读者学习Java程序设计和软件开发。 全书分为5个部分。第1部分(第1~10章)阐述了面向对象的Java语言和面向对象开发过程的基本概念和主要思想;第2部分(第11~14章)是有关程序设计的过程,介绍测试驱动开发的原理、过程、工具和技术,并说明是如何进行编程的;第3部分(第15~17章)给出了一些可以用于自学的案例,包括一些用来组织讨论会、扩展程序开发的项目基础内容。第4部分(第18~24章)是Java语言的自学指南和参考。附录部分提供了有关Java编程的一些有用参考资料。 本书适合作为高等院校计算机专业Java语言课程教材,也可以供Java语言自学者阅读使用。
目录 第1部分 对象和类的编程
第1章 简介 3
1.1 引言 3
1.2 Java简史 3
1.3 Java生逢其时 4
1.4 Java是什么 5
1.5 抽象:编程的重要核心 5
1.6 Java 2平台 6
1.7 Java的体系结构是平台无关的 7
1.8 Java不是玩笑 8
1.9 小结 8
第2章 程序设计基础 9
2.1 引言 9
2.2 抽象和概要 10
2.3 语句的顺序 11
2.4 迭代 13
2.4.1 Java的while语句和复合语句 14
2.4.2 Java的do语句 15
2.5 选择语句 16
2.5.1 Java的if语句 17
2.5.2 Java的break语句 18
2.6 变量 18
2.6.1 变量的命名 19
2.6.2 赋值 19
2.6.3 变量的类型 20
2.6.4 初始化变量 21
2.6.5 常数变量(命名常量) 22
2.6.6 变量和类型检查 22
2.6.7 变量的比较 22
2.7 编写一个简单的Java程序(程序1) 23
2.8 使用注释 26
2.9 输出语句 28
2.10 输入语句 29
2.11 交互式程序 30
2.11.1 程序2——基本的输入输出 30
2.11.2 程序3——使用字符串 31
2.11.3 程序4——使用表达式 34
2.12 小结 39
2.13 复习题 39
2.14 练习题 40
2.15 挑战题 41
第3章 向程序中增加结构 42
3.1 引言 42
3.2 抽象和封装 43
3.3 方法 43
3.3.1 从方法返回值 45
3.3.2 void方法和类型 46
3.3.3 方法的参数 46
3.3.4 多个方法参数 48
3.3.5 递归 49
3.4 如何在程序中使用方法 51
3.4.1 例程:乘法表程序 51
3.4.2 例程:回文程序 53
3.5 过程分解 58
3.6 封装 59
3.6.1 作用域与生存期 59
3.6.2 命名与作用域 60
3.7 更多的运算符 61
3.7.1 递增、递减和赋值运算符 61
3.7.2 算术表达式和类型 62
3.7.3 条件运算符 63
3.8 更多的控制语句 63
3.8.1 for循环语句 63
3.8.2 switch语句 64
3.9 更多的实例程序 65
3.9.1 例程:字符三角形(CharacterTriangle)程序 65
3.9.2 例程:字符矩形(CharacterRectangle)程序 66
3.9.3 例程:二进制转十进制(ConverBinaryToDecimal)程序 68
3.10 小结 74
3.11 复习题 74
3.12 练习题 75
3.13 挑战题 76
第4章 容器类介绍 78
4.1 引言 78
4.2 数组 78
4.2.1 声明数组 78
4.2.2 数组索引 80
4.2.3 Foreach循环 81
4.2.4 数组用作方法参数 81
4.2.5 数组用作返回值 82
4.2.6 求平均数(Mean)程序 82
4.2.7 Array类 85
4.2.8 多维数组 85
4.2.9 数组初始化表达式 87
4.2.10 AddUpColumns程序 87
4.2.11 main方法的参数 88
4.2.12 字符数组和字符串 91
4.3 容器(Container)类 91
4.3.1 ArrayList类 92
4.3.2 容器类和基本类型 93
4.3.3 Foreach循环 95
4.3.4 修改Mean程序 95
4.4 数据文件 97
4.4.1 文本数据 97
4.4.2 用FileInput类读取数据 98
4.4.3 用FileOutput类写数据 100
4.4.4 DisplayTextFile程序 101
4.4.5 Copy程序 103
4.4.6 WordCount程序 106
4.5 小结 108
4.6 复习题 109
4.7 练习题 109
4.8 挑战题 110
第5章 画图 111
5.1 引言 111
5.2 绘图 111
5.2.1 画一条线段 113
5.2.2 画矩形、正方形、椭圆和圆 115
5.2.3 其他的标准图形 116
5.2.4 创建新的图形 117
5.3 绘图的属性 117
5.3.1 颜色 117
5.3.2 线宽 118
5.3.3 图形的填充 118
5.4 绘制文本 119
5.5 程序例程 120
5.5.1 例程:棋盘程序 120
5.5.2 例程:螺旋线程序 122
5.5.3 例程:图形程序 124
5.6 小结 129
5.7 复习题 130
5.8 练习题 130
5.9 挑战题 131
第6章 类和对象 132
6.1 引言 132
6.2 创建新的数据类型 132
6.2.1 栈对象 133
6.2.2 Stack类 134
6.3 通用类 138
6.4 方法的命名和作用域 141
6.5 对象初始化 143
6.5.1 实例变量的直接初始化 143
6.5.2 构造函数(Constructor) 144
6.5.3 实例初始化块 145
6.5.4 多种方法如何选择 146
6.6 对象和引用 146
6.6.1 删除旧的对象 147
6.6.2 对象、引用和基本类型 148
6.6.3 对象与方法参数 149
6.6.4 复制对象 150
6.6.5 相等性和对象 151
6.6.6 null 152
6.6.7 this操作符 153
6.7 静态变量和静态方法 154
6.8 类的几个例子 156
6.8.1 例程:Name类 157
6.8.2 例程:Matrix类 161
6.8.3 例程:Graph类 163
6.9 用类和对象进行程序设计 168
6.9.1 对象用来提供服务 168
6.9.2 类与封装 169
6.10 枚举类型 169
6.11 示例——创建桥牌 171
6.12 小结 176
6.13 复习题 176
6.14 练习题 177
6.15 挑战题 177
第7章 类关系详述 179
7.1 引言 179
7.2 关联 179
7.2.1 对象所有权(OwnerShip) 180
7.2.2 有效地使用关联 180
7.3 继承 180
7.3.1 使用继承 181
7.3.2 protected 182
7.3.3 继承和构造函数 183
7.3.4 超类 184
7.3.5 QueueT与DequeueT的实现示例 184
7.3.6 静态变量和继承 186
7.3.7 隐藏名称 187
7.3.8 方法覆盖和动态绑定 187
7.4 关联与继承之间的抉择 189
7.5 继承的层次体系 191
7.5.1 Object类 191
7.5.2 抽象类 192
7.6 接口和类型一致性 193
7.6.1 可替换性、类型和一致性 194
7.6.2 接口及其实现 195
7.7 比较对象的相等性 197
7.7.1 Class类和Instanceof运算符 198
7.7.2 一个惯例 199
7.8 嵌套(Nested)类 200
7.9 包(package) 201
7.10 例程:再次研究Matrix类 203
7.11 可复用性与组件 211
7.12 小结 212
7.13 复习题 213
7.14 练习题 213
7.15 挑战题 213
第8章 异常 214
8.1 问题是什么 214
8.2 错误的种类 215
8.3 表示异常 216
8.4 抛出异常 216
8.5 捕获异常 218
8.6 finally块 220
8.7 使用异常的重要性 220
8.8 例子 221
8.8.1 带异常的ConvertBinaryToDecimal程序 221
8.8.2 以更复杂方式编写的Copy程序 224
8.8.3 重写WordCount程序 232
8.8.4 带异常处理的Stack类型 234
8.9 小结 237
8.10 复习题 237
8.11 练习题 238
第9章 使用线程的并发 239
9.1 一次做多件事情 239
9.2 线程 239
9.3 使用线程 241
9.4 线程同步 241
9.5 线程调度 242
9.6 示例程序 243
9.6.1 文本时钟 243
9.6.2 共享队列 247
9.6.3 网络应用程序 250
9.7 小结 256
9.8 复习题 256
9.9 练习题 256
第10章 用户界面 257
10.1 引言 257
10.1.1 可视化组件 258
10.1.2 事件和事件驱动系统 258
10.1.3 AWT和Swing 258
10.2 核心的GUI概念 259
10.2.1 例程:HelloGoodbye程序 259
10.2.2 创建窗口 261
10.2.3 创建Swing GUI组件 261
10.2.4 容器和布局管理器 262
10.2.5 布局管理器优点 264
10.2.6 不同的布局管理器 264
10.2.7 窗口显示 265
10.2.8 处理事件 266
10.2.9 运行和终止HelloGoodbye程序 267
10.2.10 HelloGoodbye程序的总结 268
10.3 使用GUI作为文本输入 268
10.4 实例:一个非常简单的文本编辑器 270
10.5 菜单 274
10.6 绘图 278
10.7 小结 278
10.8 复习题 278
10.9 练习题 279
10.10 挑战题 280
第2部分 程序设计过程
第11章 程序设计过程 283
11.1 引言 283
11.1.1 面向对象的软件工程 283
11.1.2 敏捷方法 284
11.1.3 设计文档 284
11.2 为什么要用面向对象方法 285
11.2.1 一个比喻—路线计划 285
11.2.2 问题域 286
11.2.3 封装 286
11.3 开始任务 287
11.3.1 概览 287
11.3.2 初始问题陈述 287
11.3.3 使用故事收集用户需求 288
11.3.4 功能需求和用例 289
11.3.5 分析 290
11.3.6 设计、实现和测试 292
11.3.7 交付、部署和维护 293
11.3.8 复审和迭代 294
11.4 测试策略 295
11.4.1 单元测试和功能测试 295
11.4.2 验收测试 296
11.4.3 调试 297
11.5 UML类、对象和序列图 298
11.5.1 类图 298
11.5.2 包 303
11.5.3 对象图 303
11.5.4 序列图 304
11.5.5 临时表示法 305
11.6 实践和经验 306
11.7 小结 306
11.8 复习题 307
11.9 练习题 307
11.10 挑战题 308
第12章 单元测试 309
12.1 引言 309
12.1.1 测试是什么 309
12.1.2 到底为什么要测试呢 310
12.2 单元测试—第一个示例 310
12.2.1 类及其测试 311
12.2.2 测试是如何运行的 312
12.3 单元测试的核心原则 314
12.3.1 问题 314
12.3.2 此代码不能够进行测试 315
12.4 测试驱动的开发 315
12.4.1 重构 315
12.4.2 重复 316
12.4.3 红色/绿色/重构 316
12.4.4 按照规范进行测试 318
12.5 TestNG框架 318
12.5.1 测试循环 319
12.5.2 TestNG测试类 319
12.5.3 配置方法 320
12.5.4 测试方法 320
12.5.5 异常 321
12.5.6 断言 321
12.5.7 testng.xml文件 322
12.6 扩展Person类 323
12.6.1 重构 327
12.6.2 无效日期 329
12.6.3 日期验证 331
12.6.4 类的状态 333
12.6.5 现在在哪里呢 337
12.7 小结 337
12.8 复习题 338
12.9 练习题 338
12.10 挑战题 339
第13章 测试驱动的程序设计策略 340
13.1 引言 340
13.2 第一步—搜索文件 341
13.2.1 真实文件与模拟文件 343
13.2.2 使用真实文件 343
13.2.3 到目前为止的回顾过程 347
13.2.4 模拟 347
13.2.5 完整的FileNameSearch类 352
13.3 GUI 353
13.3.1 GUI布局 353
13.3.2 测试GUI布局 353
13.3.3 GUI类 357
13.3.4 创建GUI 361
13.3.5 选择按钮 363
13.3.6 模拟对象 366
13.3.7 搜索按钮 368
13.4 完整的搜索器 371
13.5 小结 372
13.6 复习题 372
13.7 练习题 373
13.8 挑战题 373
第14章 编程工具 374
14.1 引言 374
14.2 项目结构 374
14.2.1 src目录 375
14.2.2 build目录 375
14.2.3 lib目录 376
14.2.4 doc和javadoc目录 376
14.2.5 reports目录 376
14.2.6 deploy目录 376
14.2.7 保证文件安全 377
14.3 Ant-构建工具 377
14.3.1 Ant概述 378
14.3.2 项目元素 381
14.3.3 属性 381
14.3.4 path元素 382
14.3.5 clean目标 383
14.3.6 init目标 384
14.3.7 compile.classes目标 384
14.3.8 compile.tests目标 385
14.3.9 test目标 385
14.3.10 run目标 386
14.3.11 javadoc目标 386
14.3.12 deploy目标 387
14.3.13 all目标 388
14.3.14 使用构建文件 388
14.4 版本控制 389
14.4.1 CVS和Subversion 389
14.4.2 Subversion系统信息库 390
14.4.3 开始项目 390
14.4.4 检验修订版 391
14.4.5 更新、登记和冲突 392
14.4.6 添加、删除和移动 393
14.4.7 修订 393
14.4.8 Status和Logs 394
14.4.9 diff 394
14.4.10 复制和分支 395
14.4.11 进一步研究 395
14.5 集成开发环境 396
14.5.1 使用IDE 396
14.5.2 IDE和项目 396
14.5.3 GUI构建器 399
14.5.4 调试器 400
14.5.5 UML工具 401
14.5.6 命令行工具 402
14.5.7 项目Web站点 403
14.6 小结 403
14.7 复习题 403
14.8 练习题 404
14.9 挑战题 404
第3部分 程序开发案例
第15章 案例研究概述 407
15.1 引言 407
15.2 案例研究 408
15.3 案例研究的介绍 408
第16章 邮件合并系统 410
16.1 引言 410
16.2 简要介绍 410
16.3 回顾——一些研究 411
16.3.1 XML 411
16.3.2 DOM和SAX 413
16.3.3 JDOM和dom4j 414
16.3.4 初始试验 414
16.4 数据存储 422
16.4.1 初始分析 422
16.4.2 初始设计思想 423
16.4.3 具体设计 426
16.5 GUI设计 435
16.5.1 初始需求分析 435
16.5.2 GUI的体系结构和设计 435
16.6 显示邮件合并列表 435
16.6.1 鼠标操作 436
16.6.2 显示邮件合并细节 440
16.7 菜单和操作 449
16.8 更多操作 462
16.9 练习题 462
16.10 挑战题 462
第17章 行人交叉路口模拟 463
17.1 引言 463
17.2 最初的问题定义 463
17.3 最初的思考 464
17.3.1 交通灯 464
17.3.2 车辆指挥灯 464
17.3.3 行人指挥灯 465
17.4 首轮设计 466
17.5 获得GUI 479
17.6 GUI设计 491
17.7 控制中的问题 498
17.8 进一步设计 509
17.9 小结 509
17.10 练习题 509
17.11 挑战题 509
第4部分 Java编程语言详述
第18章 Java语言参考 513
18.1 引言 513
18.2 语法和语义 513
18.3 基本描述 514
18.4 示例程序 514
18.5 小结 516
第19章 变量、类型和表达式 517
19.1 引言 517
19.2 注释 517
19.2.1 目的 517
19.2.2 概述 517
19.2.3 语法 517
19.2.4 描述 518
19.2.5 例子 519
19.3 标识符 522
19.3.1 目的 522
19.3.2 概述 522
19.3.3 描述 522
19.3.4 例子 523
19.4 Unicode转义符 523
19.4.1 目的 523
19.4.2 概述 523
19.4.3 描述 523
19.4.4 例子 524
19.5 字面量 524
19.5.1 目的 524
19.5.2 概述 524
19.5.3 描述 524
19.5.4 例子 524
19.6 类型 526
19.6.1 基本类型 526
19.6.2 引用类型 527
19.6.3 自动类型转换 527
19.7 作用域 528
19.7.1 目的 528
19.7.2 概述 528
19.7.3 描述 528
19.7.4 例子 529
19.8 变量 529
19.8.1 变量声明 530
19.8.2 变量初始化 531
19.8.3 数组变量 533
19.9 表达式和运算符 537
19.9.1 基本表达式 537
19.9.2 运算符 538
19.10 源文件 547
19.11 小结 548
19.12 复习题 548
19.13 练习题 548
第20章 程序流程控制 550
20.1 引言 550
20.2 选择 550
20.2.1 if语句 550
20.2.2 switch语句 554
20.3 迭代 558
20.3.1 while循环语句 559
20.3.2 do循环语句 561
20.3.3 for循环语句 563
20.3.4 循环行为检验 566
20.3.5 foreach循环语句 567
20.4 跳转语句 568
20.4.1 break语句 568
20.4.2 continue语句 570
20.4.3 return语句 572
20.5 递归 574
20.6 小结 575
20.7 复习题 575
20.8 练习题 575
第21章 类和包 576
21.1 引言 576
21.2 类 576
21.2.1 类声明 576
21.2.2 public、private和protected 578
21.2.3 实例变量 579
21.2.4 实例初始化器 580
21.2.5 静态变量或类变量 581
21.2.6 静态初始化器 583
21.2.7 方法 584
21.2.8 静态方法或类方法 588
21.2.9 构造函数 590
21.2.10 关键字this 593
21.3 顶层类 595
21.3.1 目的 595
21.3.2 概述 595
21.3.3 语法 595
21.3.4 描述 595
21.4 嵌套类 595
21.4.1 顶层嵌套类 595
21.4.2 成员类 598
21.4.3 局部类 602
21.4.4 匿名类 605
21.5 枚举类型 607
21.5.1 目的 607
21.5.2 概述 607
21.5.3 语法 608
21.5.4 描述 608
21.5.5 例子 609
21.6 包 610
21.6.1 目的 610
21.6.2 概述 611
21.6.3 语法 611
21.6.4 描述 611
21.6.5 例子 612
21.7 静态加载 613
21.7.1 目的 613
21.7.2 概述 613
21.7.3 语法 613
21.7.4 描述 613
21.7.5 例子 614
21.8 小结 615
21.9 复习题 615
21.10 练习题 615
第22章 继承和接口 616
22.1 引言 616
22.2 继承 616
22.2.1 继承的概念 616
22.2.2 关键字private和protected与继承性 618
22.2.3 Final类 620
22.2.4 方法覆盖(Overriding) 621
22.2.5 Final方法 623
22.2.6 方法调用表达式 624
22.2.7 修改后的成员类名字查找 630
22.2.8 构造函数与继承 631
22.2.9 超类(Super)和隐含命名 633
22.2.10 抽象(Abstract)类 634
22.2.11 抽象(Abstract)方法 635
22.2.12 从类对象继承的方法 637
22.3 接口 642
22.3.1 接口声明 643
22.3.2 实现 645
22.4 注释(Annotation) 647
22.4.1 目的 648
22.4.2 概述 648
22.4.3 语法 648
22.4.4 描述 648
22.4.5 例子 649
22.5 小结 649
22.6 复习题 649
22.7 练习题 649
第23章 异常处理 650
23.1 引言 650
23.1.1 异常类 650
23.1.2 Try、Catch与Finally 652
23.1.3 异常的传递 656
23.1.4 抛出(Throws)异常声明 657
23.1.5 关键字throw 659
23.2 小结 661
23.3 复习题 661
第24章 线程与并发 662
24.1 引言 662
24.2 Thread类 663
24.2.1 目的 663
24.2.2 概述 663
24.2.3 语法 663
24.2.4 描述 664
24.2.5 例子 665
24.3 同步方法 669
24.3.1 目的 669
24.3.2 概述 669
24.3.3 语法 669
24.3.4 描述 669
24.3.5 例子 670
24.4 同步语句 673
24.4.1 目的 673
24.4.2 概述 673
24.4.3 语法 673
24.4.4 描述 673
24.4.5 例子 673
24.5 小结 674
24.6 复习题 674
24.7 练习题 675
第5部分 附录
附录A 术语表 679
附录B CRC方法 685
附录C 在线文档 688
附录D 运行Java程序 691
附录E Input类 694
附录F FileInput类 702
附录G FileOutput类 704
附录H DrawFrame类 708
附录I DrawPanel类 711
附录J 参考文献 713
……