快学Scala(第2版)

快学Scala(第2版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2017-07
版次: 2
ISBN: 9787121319952
定价: 108.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 412页
字数: 458千字
正文语种: 简体中文
81人买过
  • Scala是一门主要以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的*佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala默认运行于JVM之上,因此它可以访问任何Java类库并且与Java框架进行互操作。通过ScalaJS项目,Scala还可以被编译成JavaScript代码,让我们更便捷高效地开发Web应用。本书从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。适合有一定的Java编程经验、对Scala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读。 Cay S. Horstmann是《Java核心技术》卷1和卷2第10版(Prentice Hall出版社2016年出版)的作者,此外,他还著有其他十多本面向专业程序员和计算机科学专业学生的书籍。他是San Jose州立大学计算机科学专业的教授,同时也是一位Java Champion。
    高宇翔,资深软件开发工程师和系统架构师,同时也是Scala在国内的早期布道者和实践者,曾译有《快学Scala》(第1版)和《Scala编程》等专业书籍。 目  录
    译者序  V
    第1版序 XVII
    前言 XIX
    作者简介 XXIII
    第1章 基础 A1  1
    1.1 Scala解释器 1
    1.2 声明值和变量 4
    1.3 常用类型 5
    1.4 算术和操作符重载 7
    1.5 关于方法调用 8
    1.6 apply方法 9
    1.7 Scaladoc  11
    练习 16
    第2章 控制结构和函数 A1  19
    2.1 条件表达式 20
    2.2 语句终止 22
    2.3 块表达式和赋值 22
    2.4 输入和输出 23
    2.5 循环 25
    2.6 高级for循环 27
    2.7 函数 28
    2.8 默认参数和带名参数 L1 29
    2.9 变长参数 L1 29
    2.10 过程 31
    2.11 懒值 L1 31
    2.12 异常 32
    练习 35
    第3章 数组相关操作 A1  39
    3.1 定长数组 39
    3.2 变长数组:数组缓冲 40
    3.3 遍历数组和数组缓冲 41
    3.4 数组转换 42
    3.5 常用算法 44
    3.6 解读Scaladoc 45
    3.7 多维数组 47
    3.8 与Java的互操作 48
    练习 49
    第4章 映射和元组 A1 53
    4.1 构造映射 53
    4.2 获取映射中的值 54
    4.3 更新映射中的值 55
    4.4 迭代映射 56
    4.5 已排序映射 57
    4.6 与Java的互操作 57
    4.7 元组 58
    4.8 拉链操作 59
    练习 60
    第5章 类 A1 63
    5.1 简单类和无参方法 63
    5.2 带getter和setter的属性 64
    5.3 只带getter的属性 67
    5.4 对象私有字段 68
    5.5 Bean属性 L1 69
    5.6 辅助构造器 71
    5.7 主构造器 72
    5.8 嵌套类 L175
    练习 78
    第6章 对象 A1  81
    6.1 单例对象 81
    6.2 伴生对象 82
    6.3 扩展类或特质的对象 83
    6.4 apply方法 84
    6.5 应用程序对象 85
    6.6 枚举 86
    练习 87
    第7章 包和引入 A1  91
    7.1 包 91
    7.2 作用域规则 93
    7.3 串联式包语句 95
    7.4 文件顶部标记法 95
    7.5 包对象 96
    7.6 包可见性 97
    7.7 引入 97
    7.8 任何地方都可以声明引入  98
    7.9 重命名和隐藏方法 99
    7.10 隐式引入 99
    练习 100
    第8章 继承 A1  103
    8.1 扩展类 103
    8.2 重写方法 104
    8.3 类型检查和转换 105
    8.4 受保护字段和方法 106
    8.5 超类的构造 106
    8.6 重写字段 107
    8.7 匿名子类 109
    8.8 抽象类 109
    8.9 抽象字段 110
    8.10 构造顺序和提前定义 L3 110
    8.11 Scala类继承关系 112
    8.12 对象相等性 L1 114
    8.13 值类 L2 116
    练习 117
    第9章 文件和正则表达式 A1  121
    9.1 读取行 121
    9.2 读取字符 122
    9.3 读取词法单元和数字 123
    9.4 从URL或其他源读取 124
    9.5 读取二进制文件 124
    9.6 写入文本文件 124
    9.7 访问目录 125
    9.8 序列化 125
    9.9 进程控制 A2126
    9.10 正则表达式 129
    9.11 正则表达式组 130
    练习 131
    第10章 特质 A1135
    10.1 为什么没有多重继承 135
    10.2 当作接口使用的特质 137
    10.3 带有具体实现的特质 138
    10.4 带有特质的对象 139
    10.5 叠加在一起的特质 140
    10.6 在特质中重写抽象方法 141
    10.7 当作富接口使用的特质 142
    10.8 特质中的具体字段 143
    10.9 特质中的抽象字段 144
    10.10 特质构造顺序 145
    10.11 初始化特质中的字段 147
    10.12 扩展类的特质 148
    10.13 自身类型 L2 149
    10.14 背后发生了什么 151
    练习 152
    第11章 操作符 A1157
    11.1 标识符 157
    11.2 中置操作符 158
    11.3 一元操作符 159
    11.4 赋值操作符 160
    11.5 优先级 161
    11.6 结合性 162
    11.7 apply和update方法 162
    11.8 提取器 L2 164
    11.9 带单个参数或无参数的提取器 L2166
    11.10 unapplySeq方法 L2167
    11.11 动态调用 L2 167
    练习 171
    第12章 高阶函数 L1  175
    12.1 作为值的函数 175
    12.2 匿名函数 177
    12.3 带函数参数的函数 178
    12.4 参数(类型)推断 179
    12.5 一些有用的高阶函数 180
    12.6 闭包 181
    12.7 SAM转换 182
    12.8 柯里化 183
    12.9 控制抽象 185
    12.10 return表达式 186
    练习 187
    第13章 集合 A2191
    13.1 主要的集合特质 192
    13.2 可变和不可变集合 193
    13.3 序列 195
    13.4 列表 196
    13.5 集  197
    13.6 用于添加或去除元素的操作符 198
    13.7 常用方法 201
    13.8 将函数映射到集合 203
    13.9 化简、折叠和扫描 A3 205
    13.10 拉链操作 209
    13.11 迭代器 210
    13.12 流 A3 211
    13.13 懒视图 A3 213
    13.14 与Java集合的互操作 213
    13.15 并行集合 215
    练习 217
    第14章 模式匹配和样例类 A2  221
    14.1 更好的switch 222
    14.2 守卫 223
    14.3 模式中的变量 223
    14.4 类型模式 224
    14.5 匹配数组、列表和元组 225
    14.6 提取器 227
    14.7 变量声明中的模式 227
    14.8 for表达式中的模式 229
    14.9 样例类 229
    14.10 copy方法和带名参数 230
    14.11 case语句中的中置表示法 231
    14.12 匹配嵌套结构 232
    14.13 样例类是邪恶的吗 233
    14.14 密封类 234
    14.15 模拟枚举 235
    14.16 Option类型 235
    14.17 偏函数 L2 236
    练习 238
    第15章 注解 A2243
    15.1 什么是注解 243
    15.2 什么可以被注解 244
    15.3 注解参数 245
    15.4 注解实现 246
    15.5 针对Java特性的注解 247
    15.5.1 Java修饰符 247
    15.5.2 标记接口 248
    15.5.3 受检异常 249
    15.5.4 变长参数 249
    15.5.5 JavaBeans  250
    15.6 用于优化的注解 250
    15.6.1 尾递归 .250
    15.6.2 跳转表生成与内联 252
    15.6.3 可省略方法 253
    15.6.4 基本类型的特殊化 254
    15.7 用于错误和警告的注解 255
    练习 256
    第16章 XML处理 A2  259
    16.1 XML字面量 260
    16.2 XML节点 260
    16.3 元素属性 262
    16.4 内嵌表达式 263
    16.5 在属性中使用表达式 264
    16.6 特殊节点类型 265
    16.7 类XPath表达式 266
    16.8 模式匹配 267
    16.9 修改元素和属性 268
    16.10 XML变换 269
    16.11 加载和保存 270
    16.12 命名空间 273
    练习 275
    第17章 Future A2 277
    17.1 在future中运行任务 278
    17.2 等待结果 280
    17.3 Try类 281
    17.4 回调 282
    17.5 组合future任务 283
    17.6 其他future变换 286
    17.7 Future对象中的方法 288
    17.8 Promise  289
    17.9 执行上下文 291
    练习 292
    第18章 类型参数 L2 297
    18.1 泛型类 298
    18.2 泛型函数 298
    18.3 类型变量界定 298
    18.4 视图界定 300
    18.5 上下文界定 301
    18.6 ClassTag上下文界定 301
    18.7 多重界定 302
    18.8 类型约束 L3302
    18.9 型变 304
    18.10 协变和逆变点 305
    18.11 对象不能泛型 307
    18.12 类型通配符 308
    练习 309
    第19章 高级类型 L2 313
    19.1 单例类型 313
    19.2 类型投影 315
    19.3 路径 316
    19.4 类型别名 317
    19.5 结构类型 318
    19.6 复合类型 319
    19.7 中置类型 320
    19.8 存在类型 321
    19.9 Scala类型系统 322
    19.10 自身类型 323
    19.11 依赖注入 325
    19.12 抽象类型 L3 327
    19.13 家族多态 L3 329
    19.14 高等类型 L3 333
    练习 336
    第20章 解析 A3  341
    20.1 文法 342
    20.2 组合解析器操作 343
    20.3 解析器结果变换 345
    20.4 丢弃词法单元 347
    20.5 生成解析树 348
    20.6 避免左递归 348
    20.7 更多的组合子 350
    20.8 避免回溯 352
    20.9 记忆式解析器 353
    20.10 解析器说到底是什么 354
    20.11 正则解析器 355
    20.12 基于词法单元的解析器 356
    20.13 错误处理 358
    练习 359
    第21章 隐式转换和隐式参数 L3. 363
    21.1 隐式转换 363
    21.2 利用隐式转换丰富现有类库的功能 364
    21.3 引入隐式转换 365
    21.4 隐式转换规则 367
    21.5 隐式参数 368
    21.6 利用隐式参数进行隐式转换 370
    21.7 上下文界定 371
    21.8 类型类 372
    21.9 类型证明 374
    21.10 @implicitNotFound注解 376
    21.11 CanBuildFrom解读  376
    练习 379
    词汇表 381
  • 内容简介:
    Scala是一门主要以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的*佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala默认运行于JVM之上,因此它可以访问任何Java类库并且与Java框架进行互操作。通过ScalaJS项目,Scala还可以被编译成JavaScript代码,让我们更便捷高效地开发Web应用。本书从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。适合有一定的Java编程经验、对Scala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读。
  • 作者简介:
    Cay S. Horstmann是《Java核心技术》卷1和卷2第10版(Prentice Hall出版社2016年出版)的作者,此外,他还著有其他十多本面向专业程序员和计算机科学专业学生的书籍。他是San Jose州立大学计算机科学专业的教授,同时也是一位Java Champion。
    高宇翔,资深软件开发工程师和系统架构师,同时也是Scala在国内的早期布道者和实践者,曾译有《快学Scala》(第1版)和《Scala编程》等专业书籍。
  • 目录:
    目  录
    译者序  V
    第1版序 XVII
    前言 XIX
    作者简介 XXIII
    第1章 基础 A1  1
    1.1 Scala解释器 1
    1.2 声明值和变量 4
    1.3 常用类型 5
    1.4 算术和操作符重载 7
    1.5 关于方法调用 8
    1.6 apply方法 9
    1.7 Scaladoc  11
    练习 16
    第2章 控制结构和函数 A1  19
    2.1 条件表达式 20
    2.2 语句终止 22
    2.3 块表达式和赋值 22
    2.4 输入和输出 23
    2.5 循环 25
    2.6 高级for循环 27
    2.7 函数 28
    2.8 默认参数和带名参数 L1 29
    2.9 变长参数 L1 29
    2.10 过程 31
    2.11 懒值 L1 31
    2.12 异常 32
    练习 35
    第3章 数组相关操作 A1  39
    3.1 定长数组 39
    3.2 变长数组:数组缓冲 40
    3.3 遍历数组和数组缓冲 41
    3.4 数组转换 42
    3.5 常用算法 44
    3.6 解读Scaladoc 45
    3.7 多维数组 47
    3.8 与Java的互操作 48
    练习 49
    第4章 映射和元组 A1 53
    4.1 构造映射 53
    4.2 获取映射中的值 54
    4.3 更新映射中的值 55
    4.4 迭代映射 56
    4.5 已排序映射 57
    4.6 与Java的互操作 57
    4.7 元组 58
    4.8 拉链操作 59
    练习 60
    第5章 类 A1 63
    5.1 简单类和无参方法 63
    5.2 带getter和setter的属性 64
    5.3 只带getter的属性 67
    5.4 对象私有字段 68
    5.5 Bean属性 L1 69
    5.6 辅助构造器 71
    5.7 主构造器 72
    5.8 嵌套类 L175
    练习 78
    第6章 对象 A1  81
    6.1 单例对象 81
    6.2 伴生对象 82
    6.3 扩展类或特质的对象 83
    6.4 apply方法 84
    6.5 应用程序对象 85
    6.6 枚举 86
    练习 87
    第7章 包和引入 A1  91
    7.1 包 91
    7.2 作用域规则 93
    7.3 串联式包语句 95
    7.4 文件顶部标记法 95
    7.5 包对象 96
    7.6 包可见性 97
    7.7 引入 97
    7.8 任何地方都可以声明引入  98
    7.9 重命名和隐藏方法 99
    7.10 隐式引入 99
    练习 100
    第8章 继承 A1  103
    8.1 扩展类 103
    8.2 重写方法 104
    8.3 类型检查和转换 105
    8.4 受保护字段和方法 106
    8.5 超类的构造 106
    8.6 重写字段 107
    8.7 匿名子类 109
    8.8 抽象类 109
    8.9 抽象字段 110
    8.10 构造顺序和提前定义 L3 110
    8.11 Scala类继承关系 112
    8.12 对象相等性 L1 114
    8.13 值类 L2 116
    练习 117
    第9章 文件和正则表达式 A1  121
    9.1 读取行 121
    9.2 读取字符 122
    9.3 读取词法单元和数字 123
    9.4 从URL或其他源读取 124
    9.5 读取二进制文件 124
    9.6 写入文本文件 124
    9.7 访问目录 125
    9.8 序列化 125
    9.9 进程控制 A2126
    9.10 正则表达式 129
    9.11 正则表达式组 130
    练习 131
    第10章 特质 A1135
    10.1 为什么没有多重继承 135
    10.2 当作接口使用的特质 137
    10.3 带有具体实现的特质 138
    10.4 带有特质的对象 139
    10.5 叠加在一起的特质 140
    10.6 在特质中重写抽象方法 141
    10.7 当作富接口使用的特质 142
    10.8 特质中的具体字段 143
    10.9 特质中的抽象字段 144
    10.10 特质构造顺序 145
    10.11 初始化特质中的字段 147
    10.12 扩展类的特质 148
    10.13 自身类型 L2 149
    10.14 背后发生了什么 151
    练习 152
    第11章 操作符 A1157
    11.1 标识符 157
    11.2 中置操作符 158
    11.3 一元操作符 159
    11.4 赋值操作符 160
    11.5 优先级 161
    11.6 结合性 162
    11.7 apply和update方法 162
    11.8 提取器 L2 164
    11.9 带单个参数或无参数的提取器 L2166
    11.10 unapplySeq方法 L2167
    11.11 动态调用 L2 167
    练习 171
    第12章 高阶函数 L1  175
    12.1 作为值的函数 175
    12.2 匿名函数 177
    12.3 带函数参数的函数 178
    12.4 参数(类型)推断 179
    12.5 一些有用的高阶函数 180
    12.6 闭包 181
    12.7 SAM转换 182
    12.8 柯里化 183
    12.9 控制抽象 185
    12.10 return表达式 186
    练习 187
    第13章 集合 A2191
    13.1 主要的集合特质 192
    13.2 可变和不可变集合 193
    13.3 序列 195
    13.4 列表 196
    13.5 集  197
    13.6 用于添加或去除元素的操作符 198
    13.7 常用方法 201
    13.8 将函数映射到集合 203
    13.9 化简、折叠和扫描 A3 205
    13.10 拉链操作 209
    13.11 迭代器 210
    13.12 流 A3 211
    13.13 懒视图 A3 213
    13.14 与Java集合的互操作 213
    13.15 并行集合 215
    练习 217
    第14章 模式匹配和样例类 A2  221
    14.1 更好的switch 222
    14.2 守卫 223
    14.3 模式中的变量 223
    14.4 类型模式 224
    14.5 匹配数组、列表和元组 225
    14.6 提取器 227
    14.7 变量声明中的模式 227
    14.8 for表达式中的模式 229
    14.9 样例类 229
    14.10 copy方法和带名参数 230
    14.11 case语句中的中置表示法 231
    14.12 匹配嵌套结构 232
    14.13 样例类是邪恶的吗 233
    14.14 密封类 234
    14.15 模拟枚举 235
    14.16 Option类型 235
    14.17 偏函数 L2 236
    练习 238
    第15章 注解 A2243
    15.1 什么是注解 243
    15.2 什么可以被注解 244
    15.3 注解参数 245
    15.4 注解实现 246
    15.5 针对Java特性的注解 247
    15.5.1 Java修饰符 247
    15.5.2 标记接口 248
    15.5.3 受检异常 249
    15.5.4 变长参数 249
    15.5.5 JavaBeans  250
    15.6 用于优化的注解 250
    15.6.1 尾递归 .250
    15.6.2 跳转表生成与内联 252
    15.6.3 可省略方法 253
    15.6.4 基本类型的特殊化 254
    15.7 用于错误和警告的注解 255
    练习 256
    第16章 XML处理 A2  259
    16.1 XML字面量 260
    16.2 XML节点 260
    16.3 元素属性 262
    16.4 内嵌表达式 263
    16.5 在属性中使用表达式 264
    16.6 特殊节点类型 265
    16.7 类XPath表达式 266
    16.8 模式匹配 267
    16.9 修改元素和属性 268
    16.10 XML变换 269
    16.11 加载和保存 270
    16.12 命名空间 273
    练习 275
    第17章 Future A2 277
    17.1 在future中运行任务 278
    17.2 等待结果 280
    17.3 Try类 281
    17.4 回调 282
    17.5 组合future任务 283
    17.6 其他future变换 286
    17.7 Future对象中的方法 288
    17.8 Promise  289
    17.9 执行上下文 291
    练习 292
    第18章 类型参数 L2 297
    18.1 泛型类 298
    18.2 泛型函数 298
    18.3 类型变量界定 298
    18.4 视图界定 300
    18.5 上下文界定 301
    18.6 ClassTag上下文界定 301
    18.7 多重界定 302
    18.8 类型约束 L3302
    18.9 型变 304
    18.10 协变和逆变点 305
    18.11 对象不能泛型 307
    18.12 类型通配符 308
    练习 309
    第19章 高级类型 L2 313
    19.1 单例类型 313
    19.2 类型投影 315
    19.3 路径 316
    19.4 类型别名 317
    19.5 结构类型 318
    19.6 复合类型 319
    19.7 中置类型 320
    19.8 存在类型 321
    19.9 Scala类型系统 322
    19.10 自身类型 323
    19.11 依赖注入 325
    19.12 抽象类型 L3 327
    19.13 家族多态 L3 329
    19.14 高等类型 L3 333
    练习 336
    第20章 解析 A3  341
    20.1 文法 342
    20.2 组合解析器操作 343
    20.3 解析器结果变换 345
    20.4 丢弃词法单元 347
    20.5 生成解析树 348
    20.6 避免左递归 348
    20.7 更多的组合子 350
    20.8 避免回溯 352
    20.9 记忆式解析器 353
    20.10 解析器说到底是什么 354
    20.11 正则解析器 355
    20.12 基于词法单元的解析器 356
    20.13 错误处理 358
    练习 359
    第21章 隐式转换和隐式参数 L3. 363
    21.1 隐式转换 363
    21.2 利用隐式转换丰富现有类库的功能 364
    21.3 引入隐式转换 365
    21.4 隐式转换规则 367
    21.5 隐式参数 368
    21.6 利用隐式参数进行隐式转换 370
    21.7 上下文界定 371
    21.8 类型类 372
    21.9 类型证明 374
    21.10 @implicitNotFound注解 376
    21.11 CanBuildFrom解读  376
    练习 379
    词汇表 381
查看详情
相关图书 / 更多
快学Scala(第2版)
快学熟用D3
K.Janert 著;郭笑鹏 译;[德]Philipp、付强 校
快学Scala(第2版)
快学快用Photoshop CS3图像处理百练成精
卓越科技 编
快学Scala(第2版)
快学快用--中文版Photoshop CS3基础与实例
卓越科技 编
快学Scala(第2版)
快学快用--中文版Photoshop CS3图像处理
卓越科技 编
快学Scala(第2版)
快学快用--Excel 2007表格应用百练成精
卓越科技 编
快学Scala(第2版)
快学地道美语/实用英语系列
[美]雪莉 编;苏雅敏
快学Scala(第2版)
快学装修流行新做法
阳鸿钧 编著
快学Scala(第2版)
快学快修冷库实用技能问答
张新德 主编
快学Scala(第2版)
快学快用--电脑办公快速入门
卓越科技 编
快学Scala(第2版)
快学快用--Photoshop CS3特效处理百练成精
卓越科技 编
快学Scala(第2版)
快学Python:自动化办公轻松实战
朱鹏伟(朱小五)黄伟
快学Scala(第2版)
快学易用 Protel 99
张旭东 编;孙辉;张涛
您可能感兴趣 / 更多
快学Scala(第2版)
无声世界:中国聋人史略
高宇翔 著
快学Scala(第2版)
Scala编程(第3版)
高宇翔 译