2.1.1 计算机的缘起
2.1.2 编程范式
2.1.3 Scala简介
2.1.4.2 安装Scala
登录Scala官网,下载scala-2.11.8.tgz
把scala命令添加到path环境变量中
启动Scala解释器:
在Shell命令提示符界面中输入“scala”命令后,会进入scala命令行提示符状态:
可以使用命令“:quit”退出Scala解释器,如下所示:
用“:load”命令导入脚本,一次运行多行程序:
使用文本编辑器(比如vim)创建一个代码文件Test.scala
2.1.4.4 第1个Scala程序:HelloWorld
通过编译打包的方式运行Scala程序
使用scalac命令进行编译(编译的结果为java字节码)
使用scala或者java运行字节码文件
2.2 Scala基础
2.2.1基本数据类型和变量
2.2.1.1基本数据类型
字面量(literal)
2.2.1.2 基本操作
2.2.1.3 变量
类型推断机制(type inference):根据初始值自动推断变量的类型,使得定义变量时可以省略具体的数据类型及其前面的冒号
注意:在REPL环境下,可以重复使用同一个变量名来定义变量,而且变量前的修饰符和其类型都可以不一致,REPL会以最新的一个定义为准
2.2.2 输入输出
2.2.2.1控制台输入输出语句
向控制台输出信息方法: print()和println(),可以直接输出字符串或者其它数据类型,其中println在末尾自动换行。
2.2.2.2 读写文件
2.2.3 控制结构
2.2.3.1 if条件表达式
2.2.3.2 while循环
2.2.3.3 for循环
2.2.3.4异常处理
2.2.3.5对循环的控制
2.2.4 数据结构
2.2.4.1 数组(Array)
2.2.4.2 元组(Tuple)
2.2.4.3 容器(Collection)
2.2.4.4 序列(Sequence)
2.2.4.5集合(Set)
2.2.4.6 映射(Map)
2.2.4.7 迭代器(Iterator)
2.3 面向对象编程基础
2.3.1 类
2.3.1.1 类的定义
2.3.1.2 类成员的可见性
2.3.1.3 方法的定义
2.3.1.4 构造器
2.3.2 对象
2.3.2.1 单例对象
2.3.2.2 伴生对象
2.3.2.3 应用程序对象
2.3.2.4 apply方法和update方法
2.3.3 继承
2.3.3.1 抽象类
2.3.3.2 扩展类
2.3.3.3 类层次结构
2.3.3.4 Option类
2.3.4 参数化类型
2.3.4.1 特质概述
2.3.4.2 特质的定义
2.3.4.3 把特质混入类中
2.3.4.4 把多个特质混入类中
2.3.5 特质
2.3.5.1 match语句
2.3.5.2 case类的匹配
2.3.6 模式匹配
2.3.6.1 包的定义
2.3.6.2 引用包成员
2.4 函数式编程基础
2.4.1.1 函数式编程简介
2.4.1.2 匿名函数
2.4.1.3 占位符语法
2.4.1.4 高阶函数
2.4.1.5 闭包
2.4.2 针对集合的操作
2.4.2.1 遍历操作
2.4.2.2 映射操作
2.4.2.3 过滤操作
2.4.2.4 规约操作
2.4.2.5 拆分操作
2.4.3 函数式编程实例WordCount