要求掌握必要的Scala开发环境搭建技能。
2 变量和数据类型
掌握var和val的区别
掌握数值类型(Byte、Short、Int、Long、Float、Double、Char)之间的转换关系
3 流程控制
掌握if-else、for、while等必要的流程控制结构,掌握如何实现break、continue的功能。
4 函数式编程
掌握高阶函数、匿名函数、函数柯里化、函数参数以及函数至简原则。
5 面向对象
掌握Scala与Java继承方面的区别、单例对象(伴生对象)、特质的用法及功能。
6 集合
掌握常用集合的使用、集合常用的计算函数。
7 模式匹配
掌握模式匹配的用法
8 异常
掌握异常常用操作即可
9 隐式转换
掌握隐式方法、隐式参数、隐式类,以及隐式解析机制
10 泛型
掌握泛型语法
11下划线使用
1. 用于变量初始化
在Java中,可以声明变量而不必给出初始值,在Scala中,变量在声明时必须显示指定,可以使用下划线对变量进行初始化。而且该语法只适用于成员变量,不适用于局部变量。
2. 用于导包引入
导包引入时使用_导入该包下所有内容,类比Java中的*。
3. 用于将方法转变为函数
在Scala中方法不是值,而函数是。所以一个方法不能赋值给一个val变量,而函数可以。方法可以转换为函数赋值给变量
4. 用于模式匹配
模式匹配中可以用下划线来作为Java中default的类比使用,也可以在匹配集合类型时,用于代表集合中元素
5. 用于访问tuple元素
6. 用于简写函数
如果函数的参数在函数体只出现一次,则可以用下划线代替。
7. 定义偏函数
对某个多参数函数进行部分函数调用,没有传入的参数使用_代替,返回结果即为偏函数。
12 Scala 中Array,List,Tuple的差别
同样点:
1.长度都是固定的,不可变长
2.早期的Scala版本号,Array、List都不能混合类型,仅仅有Tuple能够,2.8版本号以后,3者的元素都都能够混合不同的类型(转化为Any类型)
不同点:
1.Array 中的元素值可变,List和Tuple中的元素值不可变
2.Array通常是先确定长度,后赋值,而List和Tuple在声明的时候就须要赋值
3.Array取单个元素的效率非常高。而List读取单个元素的效率是O(n)
4.List和Array的声明不须要newkeyword。而Tuple声明无论有无new 都能够
5.当使用混合类型时,Array和List会将元素类型转化为Any类型,而Tuple则保留每个元素的初始类型
6.訪问方式不同。Array和List的下标从0開始,且使用小括号,而Tuple的下标从1開始,切使用点加下划线的方式訪问,如:arrayTest(0), listTest(0); Tuple訪问: tupleTest._1



