Java语言的科学与艺术PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)Eric S.Roberts著
- 出 版 社:北京:清华大学出版社
- 出版年份:2009
- ISBN:9787302184416
- 页数:457 页
第1章 前言 1
1.1计算简史 1
1.2计算机科学的含义 3
1.3计算机硬件简介 4
1.3.1CPU 5
1.3.2内存 5
1.3.3辅助存储器 5
1.3.4输入/输出(I/O)设备 5
1.3.5网络 5
1.4算法 6
1.5编程过程的几个阶段 6
1.5.1创建和编程序 7
1.5.2编译过程 7
1.5.3编程错误与调试 9
1.5.4软件维 9
1.6 Java和面向对象范例 10
1.6.1面向对象编程的历史 11
1.6.2 Java编程语言 11
1.7 Java和WWW 14
1.8小结 15
1.9复习题 16
第2章 编程示例 17
2.1 “Hello world”程序 18
2.1.1注释 19
2.1.2输入 19
2.1.3 主类 19
2.2编程过程的观点 21
2.3两数相加的程序 22
2.4编程习语和模式 25
2.5类和对象 26
2.5.1类的层次结构 27
2.5.2 Program类的层次结构 28
2.6图形程序 29
2.6.1 HelloProgram示例回顾 29
2.6.2向GObjects发送消息 30
2.6.3 GObject类的层次结构 32
2.6.4 GRect类 33
2.6.5 GOval类 36
2.6.6 GLine类 37
2.7小结 38
2.8复习题 39
2.9编程练习 40
第3章 表达式 43
3.1原始数据类型 44
3.2常量与变量 45
3.2.1常量 45
3.2.2变量 46
3.2.3声明 47
3.2.4命名常量 48
3.3运算符和操作数 48
3.3.1合并整数和浮点数 49
3.3.2整数除法和余数运算符 50
3.3.3优先级 50
3.3.4应用优先级规则 52
3.3.5类型转换 53
3.4赋值语句 55
3.4.1简写赋值运算符 57
3.4.2递增运算符和递减运算符 58
3.5布尔表达式 58
3.5.1关系运算符 58
3.5.2逻辑运算符 59
3.5.3短路赋值 61
3.5.4标记 62
3.5.5Boolean计算示例 62
3.6设计改变 63
3.6.1可读性的重要性 63
3.6.2使用命名常量支持程序维护 64
3.6.3使用命名常量支持程序开发 64
3.7小结 66
3.8复习题 68
3.9编程练习 69
第4章 语句形式 73
4.1 Java的语句类型 74
4.1.1简单语句 74
4.1.2复合语句 75
4.1.3控制语句 76
4.2控制语句和问题解决 76
4.2.1一般化Add2lntegers程序 77
4.2.2重复N次模式 78
4.2.3“读取到指定条件为止”模式 79
4.3 if语句 80
4.3.1单行if语句 82
4.3.2多行if语句 82
4.3.3if-else语句 83
4.3.4级联if语句 83
4.3.5?:运算符 84
4.4 switch语句 85
4.5 while语句 88
4.5.1使用while循环 88
4.5.2无限循环 90
4.5.3解决“循环到中途”问题 90
4.6 for语句 92
4.6.1 for和while之间的关系 94
4.6.2在浮点数据中使用for语句 95
4.6.3嵌套for语句 96
4.6.4简单的图形动画 97
4.7小结 99
4.8复习题 100
4.9编程练习 100
第5章 方法 105
5.1方法概述 105
5.1.1作为降低复杂性机制的方法 106
5.1.2作为编程人员工具而不是用户工具的方法 106
5.1.3作为表达式的方法调用 107
5.1.4作为消息的方法调用 108
5.2编写自己的方法 109
5.2.1方法定义的格式 109
5.2.2 return语句 110
5.2.3包含内部控制结构的方法 111
5.2.4返回非数字值的方法 112
5.2.5断言方法 115
5.3方法调用过程的技巧 116
5.3.1参数传递 117
5.3.2从其他方法内调用方法 120
5.4分解 126
5.4.1逐步细化 126
5.4.2指定参数 128
5.4.3自顶向下设计 129
5.4.4寻找共同特征 130
5.4.5完成分解 131
5.5算法方法 132
5.5.1“强力”方法 132
5.5.2欧几里得算法 133
5.5.3讨论欧几里得算法的正确性 133
5.5.4两种算法的效率比较 134
5.6小结 135
5.7复习题 135
5.8编程练习 136
第6章 对象和类 141
6.1使用RandomGenerator类 142
6.1.1伪随机数 142
6.1.2使用RandomGenerator类 143
6.1.3随机数种子的作用 145
6.2 javadoc文档系统 146
6.3定义自己的类 149
6.3.1类定义的结构 149
6.3.2控制条目的可见性 150
6.3.3封装 150
6.4表示学生信息 150
6.4.1声明实例变量 151
6.4.2完成类定义 151
6.4.3编写javadoc注释 154
6.4.4写构造函数 154
6.4.5 getters and setters 155
6.4.6 toString方法 155
6.4.7定义类中的命名常量 156
6.4.8使用Student类 156
6.5有理数 157
6.6扩展现有类 161
6.6.1创建类表示实心三角形 161
6.6.2继承构造函数的规则 165
6.6.3继承方法的规则 165
6.7小结 167
6.8复习题 168
6.9编程练习 169
第7章 对象和内存 175
7.1内存结构 176
7.1.1位、字节和字 176
7.1.2二进制和十六进制表示法 176
7.1.3内存地址 178
7.2将内存分配给变量 179
7.2.1 Rational类的内存图 180
7.2.2无用单元收集 184
7.3原始类型与对象 185
7.3.1参数传递 185
7.3.2包装类 187
7.3.3装箱和拆箱 189
7.4链接对象 190
7.4.1链接结构里的消息传递:Gondor灯塔 191
7.4.2链接结构的内部表示法 193
7.5小结 194
7.6复习题 195
7.7编程练习 195
第8章 字符串和字符 199
8.1枚举的原则 200
8.1.1在计算机内部表示枚举类型 200
8.1.2将枚举类型作为整数表示 201
8.1.3定义新的枚举类型 202
8.2字符 203
8.2.1 char数据类型 203
8.2.2 ASCII和Unicode编码系统 203
8.2.3字符常量 205
8.2.4 Unicode表示法的重要属性 205
8.2.5特殊字符 206
8.2.6字符算法 207
8.2.7 Character类中有用的方法 208
8.2.8包含字符的控制语句 209
8.3作为抽象概念的字符串 210
8.3.1从整体和简化论的观点考察字符串 210
8.3.2抽象类型的概念 210
8.4使用String类中的方法 211
8.4.1确定字符串长度 212
8.4.2从字符串中选择字符 212
8.4.3串联 213
8.4.4摘录部分字符串&21. 5
8.4.5比较两个字符串 215
8.4.6在字符串内搜索 216
8.4.7大小写字母转换 217
8.5字符串处理案例研究 218
8.5.1应用自顶向下设计 218
8.5.2实现translateLine 219
8.5.3考虑空格和标点符号 220
8.5.4 StringTokenizer类 222
8.5.5完成实现 223
8.6小结 226
8.7复习题 227
8.8编程练习 228
第9章 面向对象图形 237
9.1 acm.graphics模型 238
9.2 acm.graphics程序包的结构 238
9.2.1 GCanvas类 239
9.2.2 Color类的更多细节 241
9.2.3 GPoint类、GDimension类和GRectangle类 241
9.2.4 GMath类 242
9.2.5 GObject类及其子类 243
9.3使用形状类 246
9.3.1 GLabel类 246
9.3.2 GRect类及其子类(GRoundRect和G3DRect) 248
9.3.3 GOval类 249
9.3.4 GLine类 249
9.3.5 GArc类 250
9.3.6 GImage类 253
9.3.7 GPolygon类 257
9.4创建复合对象 262
9.4.1简单的GCompound示例 263
9.4.2 GCompound坐标系 265
9.4.3使用GCompound的对象分解 265
9.4.4嵌套GCompound对象 269
9.5小结 270
9.6复习题 271
9.7编程练习 272
第10章 事件驱动程序 279
10.1 Java事件模型 280
10.2简单的事件驱动程序 281
10.3响应鼠标事件 283
10.3.1 MouseListener和MouseMotionListener接口 283
10.3.2重写侦听器方法 283
10.3.3画线程序 284
10.3.4在画布上拖动对象 286
10.4响应键盘事件 288
10.5创建简单的GUI 289
10.6 Swing交互器层次结构 291
10.6.1 JButton类 292
10.6.2 JToggleButton类 293
10.6.3 JCheckBox类 293
10.6.4 JRadioButton类和ButtonGroup类 295
10.6.5 JSlider类和JLabel类 296
10.6.6 JComboBox类 297
10.6.7 JTextField类、IntField类和DoubleField类 300
10.7管理组件布局 304
10.7.1 Java窗口层次结构 304
10.7.2布局管理器 305
10.7.3 BorderLayout布局管理器 305
10.7.4 FlowLayout布局管理器 307
10.7.5 GridLayout布局管理器 308
10.7.6标准布局管理器的不足 309
10.8使用TableLayout类 309
10.8.1比较GridLayout与TableLayout 310
10.8.2使用TableLayout创建温度转换器 310
10.8.3指定约束 312
10.8.4使用TableLayout创建简单的计算器 313
10.9小结 319
10.10复习题 320
10.11编程练习 321
第11章 数组与ArrayList类 327
11.1数组简介 328
11.1.1数组声明 328
11.1.2数组选择 329
11.1.3简单数组的示例 330
11.1.4改变索引范围 331
11.1.5对象的数组 332
11.1.6在图形程序中使用数组 332
11.1.7++和--运算符的区别 334
11.2数组的内部表示法 335
11.3数组作为参数传递 337
11.4使用数组制作表格 341
11.5数组初始化 343
11.6多维数组 344
11.6.1将多维数组传递给方法 345
11.6.2初始化多维数组 346
11.7图像处理 346
11.7.1图像的表示方式 346
11.7.2使用GImage类操作图像 347
11.7.3位操作 348
11.7.4使用位操作分解像素组件 350
11.7.5创建灰度图像 350
11.7.6通过平均使图像变得平滑 351
11.7.7隐藏复杂性 353
11.8 ArrayList类 354
11.9小结 358
11.10复习题 359
11.11编程练习 360
第12章 搜索与排序 369
12.1搜索 370
12.1.1在整数数组中搜索 370
12.1.2搜索表 370
12.1.3折半搜索 373
12.1.4搜索算法的相对效率 375
12.2排序 376
12.2.1给整数数组排序 376
12.2.2选项排序算法 377
12.2.3评估选项排序的效率 379
12.2.4测量程序的运行时间 380
12.2.5分析选项排序算法 381
12.2.6基数排序算法 382
12.3评估算法效率 384
12.3.1 big-O表示法 385
12.3.2 big-O的标准简化 385
12.3.3选项排序计算的复杂性 385
12.3.4根据代码结构预测计算的复杂性 386
12.3.5最坏情况与一般情况的复杂性 387
12.4使用数据文件 388
12.4.1文件的概念 388
12.4.2阅读Java中的文本文件 389
12.4.3异常处理 391
12.4.4倒转文件的程序 393
12.4.5交互地选择文件 394
12.4.6使用Scanner类 395
12.4.7输出文件 397
12.5小结 397
12.6复习题 398
12.7编程练习 400
第13章 数组与ArrayList类 405
13.1 ArrayList类回顾 406
13.1.1动态分配的能力 406
13.1.2区分表示法和行为 408
13.2 HashMap类 409
13.2.1映射的简单示例 409
13.2.2探讨可能的实现策略 410
13.2.3实现O(1)性能 411
13.2.4散列法思想 412
13.2.5散列码 412
13.2.6复制散列码 413
13.2.7映射类的简单实现 413
13.2.8实现hashCode方法 416
13.2.9调整存储区的数量 418
13.3 Java集合架构 418
13.3.1 Java集合架构的结构 419
13.3.2 Collection层次结构 420
13.3.3区分行为和表示法 421
13.3.4迭代器 422
13.3.5 Arrays和Collections方法库 424
13.4面向对象设计的原则 426
13.4.1统一主题的重要性 427
13.4.2简单和信息隐藏的原则 428
13.4.3满足客户的需要 428
13.4.4灵活性的好处 429
13.4.5稳定的意义 429
13.5小结 430
13.6复习题 430
13.7编程练习 431
第14章 展望 435
14.1递归 436
14.1.1递归的简单示例 436
14.1.2 Factorial函数 437
14.1.3信任的递归式跳跃 440
14.1.4递归的范例 441
14.1.5图形递归 442
14.1.6递归式思考 444
14.2并发 445
14.2.1进程与线程 445
14.2.2并发的简单示例 445
14.3使用网络 448
14.4编程模式 448
14.4.1模型/视图/控制器模式 449
14.4.2说明性示例:用图表示电子数据表的数据 449
14.5小结 453
14.6复习题 454
14.7编程练习 454
- 《东北民歌文化研究及艺术探析》(中国)杨清波 2019
- 《舞剧艺术论》张麟著 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《全国校外艺术课堂新形态示范教材系列 少儿钢琴表演曲集》唐冠祥编著 2019
- 《景观艺术设计》林春水,马俊 2019
- 《韩愈散文艺术论》孙昌武著 2018
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《中医骨伤科学》赵文海,张俐,温建民著 2017
- 《美国小学分级阅读 二级D 地球科学&物质科学》本书编委会 2016
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019