书籍详情
Java程序设计:面向工程和科学人员
作者:(美)Stephen J. Chapman著;敖富江译;敖富江译
出版社:清华大学出版社
出版时间:2005-05-01
ISBN:9787302099413
定价:¥78.00
购买这本书可以去
内容简介
本书集中了作者在国防和地理学领域编写、维护大型程序的经验。本书包含一些非常有用的教学特色,这些特色能够增强您的理解能力。 本书集中了作者在国防和地理学领域编写、维护大型程序的经验。编写大型、可维护程序的策略和技术与初级工程人员在学校中学习的编程方式完全不同。维护和修改大型程序令人难以置信的巨额开销,要求这些程序的可读性强、可维护性高。Java编程语言满足了这个需求。它的平台无关性使得在计算机间移植程序非常容易,其简单的(相对于C语言)语法规则和严格的面向对象方式满足了编写整洁程序的要求。本书将讲授Java语言的基础知识和一种非常良好的编程风格,采用该风格可以编写出可维护性更高的程序。
作者简介
StephenJ.chapman于1979年获得佛罗里达中央大学的工程科学硕士学位,随后获得了休斯顿莱斯大学数字信号处理专业的博士学位。chapman曾从事过多个高级军用系统和工业系统的开发,随后一直从事Java编程有着丰富的经验和独到的见解。他所编写的JavaforEngineersandsciemntists第1版受到众多程序员的青睐。敖富江,国防科技大学计算机学院硕士、机电工程与自动化学院博士,曾参与多个大型系统的设计,对数据库、数据仓库、数据挖掘、数据结构、程序设计、网络安全等有着深入的研究和实战经验,并在国内外期刊上发表过多篇相关论文,还翻译过多本有关程序设计和网络安全方面的科技图书。
目录
目 录
第1章 计算机和Java编程语言 1
1.1 计算机概述 1
1.1.1 CPU 2
1.1.2 主存储器和辅助存储器 2
1.1.3 输入输出设备 2
1.2 计算机中的数据表示 3
1.2.1 二进制数值系统 3
1.2.2 二进制数值的八进制和十六进制表示 4
1.2.3 存储器中的数据类型 5
1.3 计算机语言 8
1.4 Java编程语言 9
1.5 Java的基本元素 10
1.6 对象、方法和类 11
1.7 小应用程序和应用程序 11
1.8 第一个Java应用程序 12
1.9 编译和执行Java程序 14
1.10 小结 15
1.11 练习 16
第2章 Java的基本元素 17
2.1 Java的命名方法 17
2.2 常量和变量 18
2.2.1 整型常量和变量 20
2.2.2 浮点常量和变量 21
2.2.3 布尔常量和变量 22
2.2.4 字符常量和变量 22
2.2.5 保持常量的一致性 23
2.3 字符串 24
2.4 赋值语句和算术运算 26
2.4.1 整数运算 26
2.4.2 浮点运算 27
2.4.3 运算层次 27
2.4.4 操作数的数值提升 29
2.4.5 赋值转换和强制转换 31
2.5 赋值运算符 33
2.6 递增和递减运算符 34
2.7 数学方法 35
2.8 标准输入和输出 37
2.8.1 使用标准输出流 38
2.8.2 使用标准输入流读入字符串 39
2.8.3 使用标准输入流读入数值和布尔值 41
2.9 问题示例 45
2.10 调试Java程序 52
2.11 小结 53
2.12 良好的编程习惯概述 54
2.13 练习 54
第3章 分支结构和程序设计 59
3.1 程序设计技术概述 59
3.2 使用伪代码和流程图 64
3.3 关系运算符与逻辑运算符 66
3.3.1 关系运算符 66
3.3.2 逻辑运算符 68
3.4 选择结构 73
3.4.1 if结构 73
3.4.2 if/else结构 75
3.4.3 在一个if结构中执行多条语句 77
3.4.4 使用if结构的示例 78
3.4.5 if结构中的相等测试 84
3.4.6 嵌套if结构 86
3.4.7 条件运算符 88
3.4.8 switch结构 88
3.5 GUI输入和输出 92
3.6 小结 97
3.7 良好的编程习惯概述 97
3.8 练习 98
第4章 循环结构 101
4.1 while循环 101
4.1.1 控制while循环 102
4.1.2 使用while循环的示例 104
4.2 do/while循环 107
4.3 for循环 109
4.3.1 for循环的要求 117
4.3.2 continue语句和break语句 120
4.3.3 嵌套循环 121
4.3.4 带标号的break语句和continue语句 122
4.4 格式化输出数据 126
4.5 问题示例 131
4.6 Java程序调试知识 136
4.7 小结 139
4.8 良好的编程习惯概述 139
4.9 练习 139
第5章 一维数组、文件访问和绘图 146
5.1 数组概述 146
5.2 声明数组 147
5.3 在Java语句中使用数组元素 149
5.3.1 初始化数组 150
5.3.2 数组下标的越界 151
5.3.3 数组声明中命名常量的使用 152
5.4 数组引用赋值和数据泄漏 157
5.5 数组中数据的读入和写出 161
5.5.1 读文件 162
5.5.2 写文件 164
5.6 问题示例 165
5.7 绘图 175
5.8 小结 179
5.9 良好的编程习惯概述 179
5.10 练习 179
第6章 方法 184
6.1 使用方法的原因 185
6.2 方法的定义 186
6.3 Java中的变量传递:按值传递策略 188
6.4 问题示例 192
6.5 变量的生命期和作用域 195
6.6 递归方法 196
6.7 参数的强制转换 199
6.8 方法的重载 200
6.9 使用java.util.Arrays类进行数据排序 208
6.10 小结 209
6.11 良好的编程习惯概述 210
6.12 练习 210
第7章 类和面向对象编程 217
7.1 面向对象编程概述 217
7.1.1 对象 217
7.1.2 消息 218
7.1.3 类 219
7.1.4 类变量和类方法 220
7.1.5 类的层次结构和类的继承 221
7.1.6 面向对象编程 222
7.2 类的结构 222
7.3 第一个示例:Timer类 223
7.3.1 Timer类的实现 224
7.3.2 Timer类的使用方法 225
7.3.3 Timer类的注释 227
7.4 作用域 227
7.5 this引用 229
7.6 方法的分类 230
7.7 成员访问修饰符 236
7.8 标准Java包 238
7.9 创建自己的包 240
7.9.1 设置类路径 241
7.9.2 用户定义包的使用方法 241
7.10 终结函数和垃圾回收 242
7.11 使用静态类成员 243
7.11.1 静态变量 243
7.11.2 静态方法 244
7.12 小结 251
7.13 良好的编程习惯概述 252
7.14 练习 252
第8章 字符串 258
8.1 创建并实例化字符串 258
8.2 String类的方法 259
8.2.1 子字符串 260
8.2.2 字符串的连接 262
8.2.3 字符串的比较 263
8.2.4 在字符串中定位字符和子字符串 268
8.2.5 String类的其他方法 269
8.2.6 valueOf()方法 270
8.3 StringBuffer类 271
8.4 StringBuffer类的方法 272
8.4.1 长度和容量的差别 273
8.4.2 append方法和insert方法 275
8.4.3 reverse方法 276
8.5 StringTokenizer类 279
8.6 利用StringTokenizer类提高文件输入性能 281
8.7 字符串数组和命令行参数 283
8.7.1 创建并使用String数组 283
8.7.2 命令行参数 284
8.8 小结 293
8.9 良好的编程习惯概述 293
8.10 练习 294
第9章 继承、多态性和接口 297
9.1 超类和子类 297
9.2 定义超类和子类 297
9.3 超类对象和子类对象的关系 303
9.4 多态性 305
9.5 抽象类 309
9.6 final类型的方法和类 312
9.7 基本类型的类型包装类 312
9.8 接口 323
9.8.1 接口的实现 324
9.8.2 接口方法的调用 326
9.8.3 利用接口定义常量 328
9.8.4 接口的意义 328
9.9 Collection接口和Iterator接口 329
9.10 小结 335
9.11 良好的编程习惯概述 336
9.12 练习 336
第10章 异常和增强的文件I/O 339
10.1 异常和异常处理 339
10.1.1 什么是异常 339
10.1.2 创建异常 341
10.1.3 抛出异常 342
10.1.4 处理异常 347
10.1.5 异常的层次结构和继承 350
10.1.6 嵌套的try/catch结构 351
10.1.7 不产生异常的无效结果 355
10.2 增强的I/O操作 358
10.2.1 从标准输入流中读取数据 359
10.2.2 从磁盘文件中读取数据 364
10.3 小结 369
10.4 良好的编程习惯概述 370
10.5 练习 370
第11章 多维数组 371
11.1 二维数组 371
11.1.1 二维数组的声明 372
11.1.2 初始化二维数组 373
11.1.3 通过文件初始化二维数组 373
11.1.4 问题示例 375
11.2 多维数组 380
11.3 小结 382
11.4 练习 382
第12章 Java绘图功能介绍 386
12.1 容器和组件 387
12.1.1 创建并显示框架和组件 388
12.1.2 如何在组件上显示图形 391
12.1.3 图形直角坐标系 393
12.2 绘制线段 394
12.2.1 绘制简单的线段 394
12.2.2 控制线段的颜色、宽度和类型 394
12.2.3 消除线段的锯齿状边缘 397
12.3 绘制其他图形 403
12.3.1 矩形 403
12.3.2 圆角矩形 404
12.3.3 椭圆 405
12.3.4 圆弧 406
12.3.5 通用路径 409
12.4 显示文本 416
12.4.1 选择并控制字体 417
12.4.2 获得字体信息 419
12.5 仿射变换 422
12.6 XOR模式 428
12.7 设计用于打印的有效图形 429
12.8 创建作图类 430
12.9 小结 442
12.10 良好的编程习惯概述 444
12.11 练习 445
第13章 基本图形用户界面 447
13.1 图形用户界面是如何工作的 447
13.2 创建并显示图形用户界面 450
13.3 事件和事件处理 452
13.4 几种图形用户界面组件 454
13.4.1 标号 454
13.4.2 按钮和相关事件 456
13.4.3 文本字段和密码字段 461
13.4.4 组合框 468
13.4.5 复选框和单选按钮 471
13.4.6 空白组件(画布) 478
13.5 布局管理器 482
13.5.1 BorderLayout布局管理器 483
13.5.2 FlowLayout布局管理器 484
13.5.3 GridLayout布局管理器 485
13.5.4 BoxLayout布局管理器 485
13.5.5 多个布局管理器的组合 487
13.6 总汇 491
13.7 小结 496
13.8 良好的编程习惯概述 497
13.9 练习 497
第14章 额外的GUI组件 499
14.1 额外的GUI组件 499
14.1.1 列表 499
14.1.2 表 508
14.2 菜单 510
14.2.1 菜单组件 510
14.2.2 与菜单组件相关联的事件 513
14.3 对话框 518
14.3.1 消息对话框 519
14.3.2 确认对话框 520
14.3.3 输入对话框 522
14.4 接口和适配器类 522
14.5 弹出式菜单 527
14.6 可插入的观感 529
14.7 创建高效的GUI 540
14.8 构建GUI的简单方式 540
14.9 小结 541
14.10 良好的编程习惯概述 542
14.11 练习 542
第15章 小应用程序 544
15.1 小应用程序概述 544
15.2 JApplet类 544
15.3 创建并显示小应用程序 546
15.4 显示状态信息 548
15.5 小应用程序的参数 550
15.6 使用小应用程序中的包 552
15.7 创建一个也是应用程序的小应用程序 553
15.8 Java归档文件和小应用程序 557
15.8.1 添加、查看和解压文件 558
15.8.2 从JAR文件内部执行小应用程序 560
15.8.3 从JAR文件内部执行应用程序 560
15.9 小结 561
15.10 良好的编程习惯概述 561
15.11 练习 561
第16章 输入和输出 563
16.1 Java I/O系统的结构 564
16.2 顺序数据输入 565
16.3 顺序数据输出 567
16.4 格式化的输入和输出 569
16.4.1 从格式化的顺序文件中读字符串 569
16.4.2 从格式化的顺序文件中读取数值数据 572
16.4.3 从标准输入流中读取格式化的数据 574
16.4.4 顺序文件的格式化输出 576
16.5 非格式化的输入和输出 578
16.5.1 从顺序文件中读取非格式化的输入 578
16.5.2 顺序文件的非格式化输出 579
16.6 对象的输入和输出 586
16.6.1 将对象写入到文件 586
16.6.2 从文件中读取对象 588
16.7 随机访问文件 589
16.8 获得文件信息:File类 592
16.9 小结 595
16.10 良好的编程习惯概述 595
16.11 练习 596
附录A ASCII字符集 598
附录B 运算符优先级表 599
附录C 测试答案 601
第1章 计算机和Java编程语言 1
1.1 计算机概述 1
1.1.1 CPU 2
1.1.2 主存储器和辅助存储器 2
1.1.3 输入输出设备 2
1.2 计算机中的数据表示 3
1.2.1 二进制数值系统 3
1.2.2 二进制数值的八进制和十六进制表示 4
1.2.3 存储器中的数据类型 5
1.3 计算机语言 8
1.4 Java编程语言 9
1.5 Java的基本元素 10
1.6 对象、方法和类 11
1.7 小应用程序和应用程序 11
1.8 第一个Java应用程序 12
1.9 编译和执行Java程序 14
1.10 小结 15
1.11 练习 16
第2章 Java的基本元素 17
2.1 Java的命名方法 17
2.2 常量和变量 18
2.2.1 整型常量和变量 20
2.2.2 浮点常量和变量 21
2.2.3 布尔常量和变量 22
2.2.4 字符常量和变量 22
2.2.5 保持常量的一致性 23
2.3 字符串 24
2.4 赋值语句和算术运算 26
2.4.1 整数运算 26
2.4.2 浮点运算 27
2.4.3 运算层次 27
2.4.4 操作数的数值提升 29
2.4.5 赋值转换和强制转换 31
2.5 赋值运算符 33
2.6 递增和递减运算符 34
2.7 数学方法 35
2.8 标准输入和输出 37
2.8.1 使用标准输出流 38
2.8.2 使用标准输入流读入字符串 39
2.8.3 使用标准输入流读入数值和布尔值 41
2.9 问题示例 45
2.10 调试Java程序 52
2.11 小结 53
2.12 良好的编程习惯概述 54
2.13 练习 54
第3章 分支结构和程序设计 59
3.1 程序设计技术概述 59
3.2 使用伪代码和流程图 64
3.3 关系运算符与逻辑运算符 66
3.3.1 关系运算符 66
3.3.2 逻辑运算符 68
3.4 选择结构 73
3.4.1 if结构 73
3.4.2 if/else结构 75
3.4.3 在一个if结构中执行多条语句 77
3.4.4 使用if结构的示例 78
3.4.5 if结构中的相等测试 84
3.4.6 嵌套if结构 86
3.4.7 条件运算符 88
3.4.8 switch结构 88
3.5 GUI输入和输出 92
3.6 小结 97
3.7 良好的编程习惯概述 97
3.8 练习 98
第4章 循环结构 101
4.1 while循环 101
4.1.1 控制while循环 102
4.1.2 使用while循环的示例 104
4.2 do/while循环 107
4.3 for循环 109
4.3.1 for循环的要求 117
4.3.2 continue语句和break语句 120
4.3.3 嵌套循环 121
4.3.4 带标号的break语句和continue语句 122
4.4 格式化输出数据 126
4.5 问题示例 131
4.6 Java程序调试知识 136
4.7 小结 139
4.8 良好的编程习惯概述 139
4.9 练习 139
第5章 一维数组、文件访问和绘图 146
5.1 数组概述 146
5.2 声明数组 147
5.3 在Java语句中使用数组元素 149
5.3.1 初始化数组 150
5.3.2 数组下标的越界 151
5.3.3 数组声明中命名常量的使用 152
5.4 数组引用赋值和数据泄漏 157
5.5 数组中数据的读入和写出 161
5.5.1 读文件 162
5.5.2 写文件 164
5.6 问题示例 165
5.7 绘图 175
5.8 小结 179
5.9 良好的编程习惯概述 179
5.10 练习 179
第6章 方法 184
6.1 使用方法的原因 185
6.2 方法的定义 186
6.3 Java中的变量传递:按值传递策略 188
6.4 问题示例 192
6.5 变量的生命期和作用域 195
6.6 递归方法 196
6.7 参数的强制转换 199
6.8 方法的重载 200
6.9 使用java.util.Arrays类进行数据排序 208
6.10 小结 209
6.11 良好的编程习惯概述 210
6.12 练习 210
第7章 类和面向对象编程 217
7.1 面向对象编程概述 217
7.1.1 对象 217
7.1.2 消息 218
7.1.3 类 219
7.1.4 类变量和类方法 220
7.1.5 类的层次结构和类的继承 221
7.1.6 面向对象编程 222
7.2 类的结构 222
7.3 第一个示例:Timer类 223
7.3.1 Timer类的实现 224
7.3.2 Timer类的使用方法 225
7.3.3 Timer类的注释 227
7.4 作用域 227
7.5 this引用 229
7.6 方法的分类 230
7.7 成员访问修饰符 236
7.8 标准Java包 238
7.9 创建自己的包 240
7.9.1 设置类路径 241
7.9.2 用户定义包的使用方法 241
7.10 终结函数和垃圾回收 242
7.11 使用静态类成员 243
7.11.1 静态变量 243
7.11.2 静态方法 244
7.12 小结 251
7.13 良好的编程习惯概述 252
7.14 练习 252
第8章 字符串 258
8.1 创建并实例化字符串 258
8.2 String类的方法 259
8.2.1 子字符串 260
8.2.2 字符串的连接 262
8.2.3 字符串的比较 263
8.2.4 在字符串中定位字符和子字符串 268
8.2.5 String类的其他方法 269
8.2.6 valueOf()方法 270
8.3 StringBuffer类 271
8.4 StringBuffer类的方法 272
8.4.1 长度和容量的差别 273
8.4.2 append方法和insert方法 275
8.4.3 reverse方法 276
8.5 StringTokenizer类 279
8.6 利用StringTokenizer类提高文件输入性能 281
8.7 字符串数组和命令行参数 283
8.7.1 创建并使用String数组 283
8.7.2 命令行参数 284
8.8 小结 293
8.9 良好的编程习惯概述 293
8.10 练习 294
第9章 继承、多态性和接口 297
9.1 超类和子类 297
9.2 定义超类和子类 297
9.3 超类对象和子类对象的关系 303
9.4 多态性 305
9.5 抽象类 309
9.6 final类型的方法和类 312
9.7 基本类型的类型包装类 312
9.8 接口 323
9.8.1 接口的实现 324
9.8.2 接口方法的调用 326
9.8.3 利用接口定义常量 328
9.8.4 接口的意义 328
9.9 Collection接口和Iterator接口 329
9.10 小结 335
9.11 良好的编程习惯概述 336
9.12 练习 336
第10章 异常和增强的文件I/O 339
10.1 异常和异常处理 339
10.1.1 什么是异常 339
10.1.2 创建异常 341
10.1.3 抛出异常 342
10.1.4 处理异常 347
10.1.5 异常的层次结构和继承 350
10.1.6 嵌套的try/catch结构 351
10.1.7 不产生异常的无效结果 355
10.2 增强的I/O操作 358
10.2.1 从标准输入流中读取数据 359
10.2.2 从磁盘文件中读取数据 364
10.3 小结 369
10.4 良好的编程习惯概述 370
10.5 练习 370
第11章 多维数组 371
11.1 二维数组 371
11.1.1 二维数组的声明 372
11.1.2 初始化二维数组 373
11.1.3 通过文件初始化二维数组 373
11.1.4 问题示例 375
11.2 多维数组 380
11.3 小结 382
11.4 练习 382
第12章 Java绘图功能介绍 386
12.1 容器和组件 387
12.1.1 创建并显示框架和组件 388
12.1.2 如何在组件上显示图形 391
12.1.3 图形直角坐标系 393
12.2 绘制线段 394
12.2.1 绘制简单的线段 394
12.2.2 控制线段的颜色、宽度和类型 394
12.2.3 消除线段的锯齿状边缘 397
12.3 绘制其他图形 403
12.3.1 矩形 403
12.3.2 圆角矩形 404
12.3.3 椭圆 405
12.3.4 圆弧 406
12.3.5 通用路径 409
12.4 显示文本 416
12.4.1 选择并控制字体 417
12.4.2 获得字体信息 419
12.5 仿射变换 422
12.6 XOR模式 428
12.7 设计用于打印的有效图形 429
12.8 创建作图类 430
12.9 小结 442
12.10 良好的编程习惯概述 444
12.11 练习 445
第13章 基本图形用户界面 447
13.1 图形用户界面是如何工作的 447
13.2 创建并显示图形用户界面 450
13.3 事件和事件处理 452
13.4 几种图形用户界面组件 454
13.4.1 标号 454
13.4.2 按钮和相关事件 456
13.4.3 文本字段和密码字段 461
13.4.4 组合框 468
13.4.5 复选框和单选按钮 471
13.4.6 空白组件(画布) 478
13.5 布局管理器 482
13.5.1 BorderLayout布局管理器 483
13.5.2 FlowLayout布局管理器 484
13.5.3 GridLayout布局管理器 485
13.5.4 BoxLayout布局管理器 485
13.5.5 多个布局管理器的组合 487
13.6 总汇 491
13.7 小结 496
13.8 良好的编程习惯概述 497
13.9 练习 497
第14章 额外的GUI组件 499
14.1 额外的GUI组件 499
14.1.1 列表 499
14.1.2 表 508
14.2 菜单 510
14.2.1 菜单组件 510
14.2.2 与菜单组件相关联的事件 513
14.3 对话框 518
14.3.1 消息对话框 519
14.3.2 确认对话框 520
14.3.3 输入对话框 522
14.4 接口和适配器类 522
14.5 弹出式菜单 527
14.6 可插入的观感 529
14.7 创建高效的GUI 540
14.8 构建GUI的简单方式 540
14.9 小结 541
14.10 良好的编程习惯概述 542
14.11 练习 542
第15章 小应用程序 544
15.1 小应用程序概述 544
15.2 JApplet类 544
15.3 创建并显示小应用程序 546
15.4 显示状态信息 548
15.5 小应用程序的参数 550
15.6 使用小应用程序中的包 552
15.7 创建一个也是应用程序的小应用程序 553
15.8 Java归档文件和小应用程序 557
15.8.1 添加、查看和解压文件 558
15.8.2 从JAR文件内部执行小应用程序 560
15.8.3 从JAR文件内部执行应用程序 560
15.9 小结 561
15.10 良好的编程习惯概述 561
15.11 练习 561
第16章 输入和输出 563
16.1 Java I/O系统的结构 564
16.2 顺序数据输入 565
16.3 顺序数据输出 567
16.4 格式化的输入和输出 569
16.4.1 从格式化的顺序文件中读字符串 569
16.4.2 从格式化的顺序文件中读取数值数据 572
16.4.3 从标准输入流中读取格式化的数据 574
16.4.4 顺序文件的格式化输出 576
16.5 非格式化的输入和输出 578
16.5.1 从顺序文件中读取非格式化的输入 578
16.5.2 顺序文件的非格式化输出 579
16.6 对象的输入和输出 586
16.6.1 将对象写入到文件 586
16.6.2 从文件中读取对象 588
16.7 随机访问文件 589
16.8 获得文件信息:File类 592
16.9 小结 595
16.10 良好的编程习惯概述 595
16.11 练习 596
附录A ASCII字符集 598
附录B 运算符优先级表 599
附录C 测试答案 601
猜您喜欢