计算机类教材 > 算法与程序设计

Scala程序设计

书号:9787113276119 套系名称:无

作者:智酷道捷内容与产品中心 出版日期:2021-03-01

定价:48.00 页码 / 开本:280 /16

策划编辑:汪敏 责任编辑:汪敏 包宁

适用专业:计算机教材 适用层次:本科,高职高专

最新印刷时间:2022-06-13

资源下载
教学课件 教学素材
习题答案(暂无) 教学案例(暂无)
教学设计 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 本书循序渐进地介绍了Scala编程语言的相关知识,共分为10章,首先详细介绍了Scala的一些基础知识,然后进一步介绍了Scala的数据类型、基本运算、内建控制、类和对象、自适应类型和函数等知识;另外,本书还介绍了Scala继承和多态、权限和集合、映射和模式匹配等,并系统地介绍了如何与Java进行互操作。本书案例简便易学,实用性强。
    本书适合作为高等院校计算机相关专业程序设计课程的教材,也可作为Scala技术的培训用书。
    
  • 很少有一门语言能够像Scala这样,因为成为大数据框架Spark的核心和首选开发语言而爆发式地普及起来的。据Spark官方统计,2014年和2015年全世界范围内基于Spark开发采用最多的语言一直都是Scala。另外,在大数据领域越来越多的其他技术框架,例如Kafka等也都把Scala作为实现和开发语言。因此,为了奠定大数据领域学习的基础,本书以实战为主导,以实战与理论相结合的方式来帮助读者学习Scala语言。
    本书是由直接参与Scala研发的一线工程师编写的,因而对Scala原理的解读和应用更加值得信赖,目的是让读者能够全面理解和掌握Scala编程语言的核心特性,并能够深入理解Scala语言在设计取舍背后的动因。书中案例简便易学,实用性强,通过阅读本书,读者能够获得所需,成为一名合格的Scala程序员。
    本书是为想要快速学习或者正在学习Scala编程语言的读者编写的,循序渐进地介绍了Scala编程语言的知识。 本书共分10章,首先详细介绍了Scala的一些基础知识,并和Java中的相关概念进行了对比学习,以方便读者快速掌握Scala;然后进一步介绍了Scala的数据类型、基本运算、内建控制、类和对象、自适应类型和函数等知识,以及与Java的一些差异,方便读者编写出更简洁的代码;另外,本书还介绍了Scala继承和多态、权限和集合、映射和模式匹配等,并系统地介绍了如何与Java进行互操作。阅读本书不需要读者熟悉Scala和Java编程语言,但如果读者具备一些Java、面向对象编程的背景知识,则更为理想。
    通过大量实例,本书可以帮助读者更好地巩固所学知识,提升自己的编程能力;扫描书中的二维码,读者可以获得更多学习资源和技术支持,如教学视频、案例源代码、教师指导手册、教学PPT、教学设计及其他资源等,还有和每章内容配合使用的10套作业和难易程度不同的3套试卷,以方便读者学习。
    本书由北京智酷道捷教育科技有限公司组织多名一线Scala研发工程师联合编写,书中案例皆为当下流行的项目案例,极具参考价值,既可作为高等院校本、专科计算机相关专业的程序设计教材,也可作为Scala技术的培训图书。由于时间有限,书中难免有疏漏及不足之处,敬请广大读者批评指正!
    
      编 者 
    2020年10月
  • 目 录
       第1章    Scala入门与基础 1
    1.1  Scala的简介、特点和应用 1
    1.1.1  为什么选择Scala 1
    1.1.2  何为Scala 2
    1.1.3  Scala的面向对象和函数式编程示例 3
    1.1.4  Scala的特性 6
    1.1.5  Scala的自适应静态类型和简洁性示例 8
    1.1.6  Scala的应用 11
    1.2 Scala环境配置和安装 11
    1.2.1  Scala的环境准备 11
    1.2.2  Scala在Windows平台上的安装 11
    1.3 Scala的编译和运行 18
    1.3.1  Scala的编译和运行原理 18
    1.3.2  Scala的编译、运行和反编译 19
    1.3.3  指定编译和运行路径 24
    1.3.4  反编译的三种方式 28
    1.3.5  REPL基本操作 30
    1.3.6  REPL常见命令的应用 33
    1.4 Scala基础语法 38
    1.4.1  Scala的标识符 38
    1.4.2  Scala的关键字和注释 39
    1.4.3  Scala的分号 41
    1.4.4  Scala分号示例演示 42
    1.4.5  Scala的变量 44
    1.4.6  Scala变量内存结构 46
    1.4.7  Scala的lazy变量 49
    小结  50
    习题  50
       第2章    Scala数据类型与基本运算 52
    2.1 Scala的数值类型 52
    2.1.1  数据类型的作用及分类 52
    2.1.2  Scala支持的数据类型 52
    2.1.3  Scala中的数值数据类型 53
    2.1.4  Scala中的字面量 53
    2.1.5  Scala中的字符字面量 57
    2.2 Scala的非数值类型 59
    2.2.1  Scala中非数值类型的介绍 59
    2.2.2  Scala中字符串的表示 59
    2.2.3  Scala中字符串的常用方法 64
    2.2.4  Scala中字符串的分隔 64
    2.2.5  使用正则表达式对象查找字符串 64
    2.2.6  Scala中字符串遍历的使用 66
    2.2.7  Scala的字符串插值 71
    2.3 Scala的基本运算 75
    2.3.1  Scala的运算符 75
    2.3.2  Scala的算术运算符 76
    2.3.3  Scala的关系运算符 80
    2.3.4  Scala的逻辑运算符 81
    2.3.5  Scala的短路运算 81
    2.3.6  Scala的赋值运算符 82
    2.3.7  Scala的位运算符 84
    2.3.8  Scala中运算符的优先级 86
    2.4 Scala的数据类型与运算的应用 87
    2.4.1  Scala的相等性 87
    2.4.2  Scala中的自增和自减运算 90
    2.4.3  Scala中的浮点数精度问题 90
    2.4.4  Scala中大数的处理 92
    2.4.5  Scala中随机数的生成 95
    小结  98
    习题  98
       第3章    Scala内建控制、类和对象 99
    3.1 Scala的IDEA环境搭建 99
    3.1.1  Scala的IDE搭建 99
    3.1.2  IDEA配置SDK 102
    3.2 Scala的内建控制 103
    3.2.1  Scala的常见内建控制结构 103
    3.2.2  Scala的顺序结构 103
    3.2.3  Scala的分支结构 103
    3.2.4  Scala的循环结构 105
    3.2.5  Scala的for语句 107
    3.2.6  Scala带卫语句的for语句 107
    3.2.7  Scala带返回值的for语句 108
    3.3 Scala的类和构造器 108
    3.3.1  Scala类的定义 108
    3.3.2  Scala的类成员 109
    3.3.3  Scala的普通类 109
    3.3.4  Scala类的属性 109
    3.3.5  Scala类的成员访问和修改 110
    3.3.6  成员访问的本质 111
    3.3.7  Scala的有参类 112
    3.3.8  类参数的赋值 113
    3.3.9  Scala的主构造器 114
    3.3.10  Scala的辅助构造器 115
    3.3.11  Scala的辅助构造器默认参数 115
    3.4 Scala的伴生类和对象 118
    3.4.1  Scala的单例对象 118
    3.4.2  Scala的单例对象应用场景 119
    3.4.3  Scala的伴生类和伴生对象 120
    3.4.4  Scala对象的创建 122
    3.4.5  Scala对象的所属类 124
    3.4.6  Scala的对象相等性判断 126
    3.4.7  覆写equals方法 127
    小结  130
    习题  130
       第4章    Scala自适应类型和函数 131
    4.1 Scala的自适应类型 131
    4.1.1  Scala的特殊类型——Nothing 131
    4.1.2  Scala的特殊类型——Option[T] 132
    4.1.3  Scala的元组类型 134
    4.2 Scala的函数基础 135
    4.2.1  Scala的函数定义 136
    4.2.2  Scala的函数规则、类型推导的限制及函数调用 136
    4.2.3  Scala函数的参数默认值 137
    4.2.4  Scala的函数参数的变参 139
    4.2.5  Scala的函数的链式风格 141
    4.3 Scala的函数进阶 143
    4.3.1  Scala的函数字面量 143
    4.3.2  Scala的函数作为参数 144
    4.3.3  Scala的函数的闭包 146
    4.3.4  Scala的函数的柯里化 146
    4.3.5  Scala部分应用函数 147
    4.4 Scala的高阶函数 149
    4.4.1  Scala高阶函数概述 149
    4.4.2  map和foreach函数的应用 149
    4.4.3  filter函数的应用 150
    4.4.4  flatten和flatmap函数的应用 151
    4.4.5  reduce、reduceleft和fold函数的应用 151
    小结  154
    习题  154
       第5章    Scala继承和多态 155
    5.1 Scala的继承与多态 155
    5.1.1  Scala的继承概述 155
    5.1.2  构造器 155
    5.1.3  Scala的多态概述 157
    5.1.4  方法的继承和重写 157
    5.2 Scala的继承关系 159
    5.3 Scala的抽象类与内部类 159
    5.3.1  Scala的抽象类概述 159
    5.3.2  抽象类重写 161
    5.3.3  Scala的内部类 162
    5.4 Scala的trait 164
    5.4.1  Scala的特质 164
    5.4.2  Scala的trait的用法 165
    5.4.3  trait的mix 167
    5.4.4  trait的加载顺序 168
    5.4.5  解决空指针异常问题 170
    5.4.6  trait与类的相关特性 171
    5.4.7  trait多继承 172
    小结  174
    习题  174
       第6章    Scala的权限和集合 175
    6.1 Scala的访问权限 175
    6.1.1  Scala的访问权限概述 175
    6.1.2  Scala的属性和构造函数访问权限 175
    6.1.3  Scala的控制方法作用域 179
    6.2 Scala的包及其导入 181
    6.2.1  Scala的包 181
    6.2.2  Scala的包的导入 184
    6.3 Scala的集合 186
    6.3.1  Scala的集合继承关系 186
    6.3.2  Scala的可变集合和不可变集合 187
    6.3.3  Scala的集合之scala.collection 188
    6.3.4  Scala的集合之scala.collection.mutable 189
    6.3.5  Scala的集合之scala.collection.immutable 189
    6.3.6  Scala集合的一致性 190
    6.4 Scala的迭代器 190
    6.4.1  Scala的迭代器概述 190
    6.4.2  Scala的迭代器常用方法 191
    小结  194
    习题  194
       第7章    Scala的Seq类型 195
    7.1 Scala的Seq 195
    7.1.1  Scala的集合 195
    7.1.2  Scala集合的常见操作 196
    7.1.3  Scala的Seq继承关系 198
    7.1.4  Scala的Seq之Range、Stack和Queue集合 199
    7.1.5  Scala的Seq之Array和ArrayBuffer集合 199
    7.2 Scala的List 203
    7.2.1  Scala的List概述 203
    7.2.2  Scala的List的基本操作 203
    7.3 Scala的Vector 205
    7.3.1  Scala的Vector概述 205
    7.3.2  Scala的Seq选取 206
    小结  206
    习题  206
       第8章    Scala映射和模式匹配 208
    8.1 Scala的Set集合 208
    8.1.1  Scala的Set继承关系 208
    8.1.2  Scala的Set概述 209
    8.2 Scala的Map集合 212
    8.2.1  Scala的Map继承关系 212
    8.2.2  Scala的Map概述 212
    8.2.3  Scala的可变Map常用操作 212
    8.2.4  Scala的不可变Map常用操作 213
    8.2.5  Scala的Map的其他常用操作 216
    8.3 Scala的集合性能 218
    8.3.1  Scala的不可变序列 218
    8.3.2  Scala的可变序列 219
    8.3.3  Scala的集合和映射 219
    8.4 Scala的模式匹配 220
    小结  225
    习题  225
       第9章    Scala的隐式转换和Java交互 226
    9.1 Scala的隐式转换 226
    9.1.1  Scala的隐式转换概述 226
    9.1.2  Scala的隐式函数 226
    9.1.3  Scala的隐式类 228
    9.1.4  Scala的隐式参数和值 229
    9.1.5  Scala的隐式对象 231
    9.2 Scala的隐式转换规则 232
    9.3 Scala与Java的环境搭建 235
    9.3.1  Scala的环境准备 235
    9.3.2  Maven搭建 235
    9.3.3  选择插件 236
    9.3.4  Scala的设置 237
    9.3.5  Scala和Java的编译 237
    9.4 Scala与Java的交互 242
    9.4.1  Scala与Java的集合交互 242
    9.4.2  Scala与Java的集合双向 242
    9.4.3  Scala与Java的集合单项操作 243
    9.4.4  Scala的trait在Java中调用 246
    小结  248
    习题  248
       第10章    Scala类型参数 250
    10.1 Scala的泛型 250
    10.1.1  Scala的泛型概念 250
    10.1.2  Scala的泛型应用 252
    10.1.3  Scala的泛型类和泛型特质 252
    10.1.4  Scala的泛型函数 254
    10.1.5  Scala的泛型通配符 255
    10.2 Scala的泛型界定 257
    10.2.1  Scala的界定 257
    10.2.2  Scala的上下界界定 257
    10.2.3  Scala的视图界定 258
    10.2.4  Scala的上下文界定和多重界定 259
    10.3 Scala的型变 261
    10.3.1  Scala的型变概念 261
    10.3.2  Scala的不变 262
    10.3.3  Scala的协变 262
    10.3.4  Scala的逆变 262
    10.3.5  Scala的型变注意事项 264
    小结  265
    习题  265
    附录    练一练答案 266
    
  • 智酷道捷
  • 本书循序渐进地介绍了Scala编程语言的相关知识,共分为10章,首先详细介绍了Scala的一些基础知识,然后进一步介绍了Scala的数据类型、基本运算、内建控制、类和对象、自适应类型和函数等知识;另外,本书还介绍了Scala继承和多态、权限和集合、映射和模式匹配等,并系统地介绍了如何与Java进行互操作。本书案例简便易学,实用性强。
    本书适合作为高等院校计算机相关专业程序设计课程的教材,也可作为Scala技术的培训用书。