Scala开发快速入门

Scala开发快速入门

周志湖, 牛亚真, 编著

出版社:清华大学出版社

年代:2016

定价:69.0

书籍简介:

本文通过非常简易的代码讲解Scala语言的核心语法,内容涵盖Scala语言基础、Scala集合操作、Scala函数式编程、Scala面向对象编程、Scala模式匹配及Scala并发编程、Scala数据库编程、Scala与Java如何进行互操作等。适合使用Spark、Flink、Akka及Kafka在企业级大数据解决方案中进行开发的读者。

作者介绍:

周志湖,电子科技大学计算机软件与理论专业硕士,研究方向为机器学习与模式识别,目前供职于绿城房地产集团信息管理部,担任平台架构师、数据开发主管。对传统数据仓库、基于Hadoop和Spark的大数据仓库架构有深入的研究。 牛亚真,中国科学院大学计算机信息处理与检索方向硕士,Hadoop大数据工程师,目前主要从事分布式环境下的数据分析、数据挖掘相关工作。

书籍目录:

第1章 Scala入门 1

1.1 Scala简介 2

1.2 Scala开发环境搭建 2

1.2.1 软件准备 2

1.2.2 JDK的安装与配置 3

1.2.3 Scala SDK的安装与配置 5

1.2.4 Intellij IDEA的安装与配置 6

1.3 Scala Hello World 8

1.3.1 创建Scala Project 8

1.3.2 配置项目代码目录结构 9

1.3.3 创建应用程序对象 11

1.3.4 运行代码 12

1.4 Intellij IDEA常用快捷键 13

1.4.1 代码编辑类常用快捷键 13

1.4.2 导航快捷键 14

1.4.3 编译、运行及调试 15

1.4.4 代码格式化 15

1.5 交互式命令行使用 15

1.5.1 Scala内置交互式命令行 15

1.5.2 Scala Console交互式命令行 17

1.5.3 Scala Worksheet的使用 19

小 结 20

第2章 变量及基本数据类型 21

2.1 变 量 22

2.1.1 变量定义 22

2.1.2 lazy变量 23

2.2 基本数据类型 24

2.2.1 Int类型 24

2.2.2 Float类型 25

2.2.3 Double类型 25

2.2.4 Char类型 25

2.2.5 String类型 26

2.2.6 Boolean类型 27

2.3 基本类型操作 27

2.3.1 算术运算操作 27

2.3.2 关系运算操作 28

2.3.3 逻辑运算操作 28

2.3.4 位运算操作 29

2.3.5 对象比较运算操作 30

2.3.6 字符串运算操作 31

2.4 运算符的优先级 32

2.5 元组类型 33

2.6 符号类型 34

小 结 35

第3章 程序控制结构 36

3.1 if语句 37

3.1.1 if语句 37

3.1.2 if… else…语句 37

3.1.3 if...else if...else…语句 37

3.1.4 if的嵌套使用 38

3.1.5 if表达式 39

3.2 while 循环语句 39

3.2.1 while语句的使用 39

3.2.2 do while语句的使用 40

3.3 for循环语句 41

3.3.1 基础for循环 41

3.3.2 有过滤条件的for循环 44

3.3.3 多重for循环 44

3.3.4 作为表达式的for循环 45

小 结 45

第4章 集 合 46

4.1 集合简介 47

4.2 数 组 49

4.2.1 定长数组 49

4.2.2 变长数组 ArrayBuffer 50

4.2.3 数组的遍历 52

4.2.4 遍历生成数组 53

4.2.5 常用函数 53

4.3.6 多维数组 54

4.3 列 表(List) 55

4.3.1 列表的创建 55

4.3.2 List常用函数 56

4.3.3 List伴生对象方法 58

4.4 集(Set) 59

4.5 映 射(Map) 61

4.6 队 列(Queue) 63

4.7 栈(Stack) 64

小 结 66

第5章 函 数 67

5.1 函 数 68

5.2 值 函 数 69

5.2.1 值函数的定义 69

5.2.2 值函数的简化 71

5.3 高阶函数 73

5.3.1 高阶函数的定义 73

5.3.2 高阶函数的使用 74

5.4 闭 包 78

5.5 函数柯里化 80

5.6 部分应用函数 81

5.7 偏 函 数 83

小 结 85

第6章 Scala面向对象编程(上) 86

6.1 类与对象 87

6.1.1 类的定义 87

6.1.2 创建对象 88

6.1.3 类成员的访问 88

6.1.4 单例对象 90

6.1.5 应用程序对象 91

6.1.6 伴生对象与伴生类 93

6.2 主构造函数 96

6.2.1 主构造函数的定义 96

6.2.2 默认参数的主构造函数 98

6.2.3 私有主构造函数 99

6.3 辅助构造函数 100

6.3.1 辅助构造函数的定义 100

6.3.2 辅助构造函数中的默认参数 102

6.4 继承与多态 104

6.4.1 类的继承 104

6.4.2 构造函数执行顺序 107

6.4.3 方法重写 108

6.4.4 多态 109

6.5 成员访问控制 111

6.5.1 默认访问控制 112

6.5.2 protected访问控制 113

6.5.3 private访问控制 114

6.5.4 private[this]访问控制 116

6.5.5 主构造函数中的成员访问控制 121

6.6 抽象类 125

6.6.1 抽象类的定义 125

6.6.2 抽象类的使用 126

6.7 内部类与内部对象 128

6.8 匿名类 130

小 结 131

第7章 Scala面向对象编程(下) 132

7.1 trait简介 133

7.2 trait 的使用 135

7.2.1 trait的几种不同用法 135

7.2.2 混入trait的类对象构造 138

7.2.3 提前定义与懒加载 140

7.3 trait与类 144

7.3.1 trait与类的相似点 144

7.3.1 trait与类的不同点 146

7.4 多重继承问题 147

7.5 自身类型 148

小 结 151

第8章 包(package) 152

8.1 包的定义 153

8.2 包的使用和作用域 155

8.2.1 包的使用 155

8.2.2 包作用域 156

8.3 包 对 象 159

8.4 import高级特性 160

8.4.1 隐式引入 160

8.4.2 引入重命名 160

8.4.3 类隐藏 161

小 结 162

第9章 模式匹配 163

9.1 模式匹配简介 164

9.2 模式匹配的7大类型 167

9.2.1 常量模式 167

9.2.2 变量模式 167

9.2.3 构造函数模式 169

9.2.4 序列模式 170

9.2.5 元组模式 171

9.2.6 类型模式 172

9.2.7 变量绑定模式 173

9.3 模式匹配原理 174

9.3.1 构造函数模式匹配原理 174

9.3.2 序列模式匹配原理 176

9.4 正则表达式与模式匹配 177

9.4.1 Scala正则表达式 177

9.4.2 正则表达式在模式匹配中的应用 180

9.5 for循环中的模式匹配 183

9.6 模式匹配与样例类、样例对象 185

9.6.1 模式匹配与样例类 185

9.6.2 模式匹配与样例对象 187

小 结 190

第10章 隐式转换 191

10.1 隐式转换简介 192

10.2 隐式转换函数 193

10.2.1 隐式转换函数的定义 193

10.2.2 隐式转换函数名称 194

10.3 隐式类与隐式对象 195

10.3.1 隐式类 195

10.3.2 隐式对象 196

10.4 隐式参数与隐式值 197

10.4.1 隐式参数 197

10.4.2 隐式值 199

10.4.3 隐式参数使用常见问题 201

10.5 隐式转换规则与问题 204

10.5.1 隐式转换的若干规则 204

10.5.2 隐式转换需注意的问题 208

小 结 210

第11章 类型参数 211

11.1 类与类型 212

11.2 泛 型 214

11.2.1 泛型类 215

11.2.2 泛型接口与泛型方法 216

11.2.3 类型通配符 217

11.3 类型变量界定 220

11.4 视图界定 222

11.5 上下文界定 223

11.6 多重界定 226

11.7 协变与逆变 227

11.8 高级类型 230

11.8.1 单例类型 231

11.8.2 类型投影 235

11.8.3 类型别名 237

11.8.4 抽象类型 238

11.8.5 复合类型 240

11.8.6 函数类型 241

小 结 243

第12章 Scala并发编程基础 244

12.1 Scala并发编程简介 245

12.1.1 重要概念 245

12.1.2 Actor模型 247

12.1.3 Akka并发编程框架 247

12.2 Actor 249

12.2.1 定义Actor 249

12.2.2 创建Actor 250

12.2.3 消息处理 255

12.2.4 Actor的其他常用方法 260

12.2.5 停止Actor 261

12.3 Typed Actor 265

12.3.1 Typed Actor定义 265

12.3.2 创建Typed Actor 266

12.3.3 消息发送 267

12.3.4 停止运行Typed Actor 269

12.4 Dispatcher 271

12.4.1 常用Dispatcher 271

12.4.2 ExecutionService 274

12.5 Router 277

12.6 容 错 279

12.6.1 Actor的4种容错机制 279

12.6.2 Supervison 279

小 结 285

第13章 Scala与Java的互操作 286

13.1 Java与Scala集合互操作 287

13.1.1 Java调用Scala集合 287

13.1.2 Scala调用Java集合 288

13.1.3 Scala与Java集合间相互转换分析 289

13.2 Scala与Java泛型互操作 290

13.2.1 Scala中使用Java泛型 291

13.2.2 Java中使用Scala泛型 291

13.3 Scala trait在Java中的使用 293

13.4 Scala与Java异常处理互操作 298

小 结 299

参考文献 300

内容摘要:

本书以Scala语言的核心语法为主线,通过大量实例代码循序渐进地介绍了Scala语言的语法特性。第1章介绍Scala语言及开发环境的安装、Intellij IDEA的使用、Scala语言的交互式命令行。第2~3章重点介绍Scala语言的基础语法结构。第4章,重点介绍Scala语言重要的数据结构collection(集合)。第5章,重点介绍Scala语言中面向函数编程的语法特性。第6~8章,重点介绍Scala语言面向对象编程的语法特性。第9章,介绍Scala语言中的模式匹配及原理。第10章,详细介绍Scala语言的类型系统。第11章,对Scala语言中的隐式转换及原理进行详细介绍。第12章,重点介绍Scala中的并发编程。第13章,介绍Java语言与Scala语言间的互操作。本书还提供了所有实例的源代码与素材文件,供读者上机练习使用,读者可从网上下载本书资源文件。本书适用于Scala语言初学者、爱好者,大数据开发人员,软件培训机构以及计算机专业的学生使用。

编辑推荐:

阐述scala核心语法、编程方法与深层原理,内容实用,通俗易学
涵盖Scala实际开发中的重要知识点,实例丰富,代码注解详尽
突出可操作性,力图使读者通过实际操作掌握用Scala进行应用开发

书籍规格:

书籍详细信息
书名Scala开发快速入门站内查询相似图书
9787302444138
如需购买下载《Scala开发快速入门》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)69.0语种简体中文
尺寸26 × 19装帧平装
页数印数 3500

书籍信息归属:

Scala开发快速入门是清华大学出版社于2016.出版的中图分类号为 TP312 的主题关于 JAVA语言-程序设计 的书籍。