一、基础
1.1 声明值和变量
在Scala中,鼓励使用val;
不需要给出值或变量的类型,这个信息可以从初始化表达式推断出来。在必要的时候,可以指定类型。
在Scala中,仅当同一行代码中存在多条语句时才需要用分号隔开。
1.2 常用类型
Scala 7中数值类型:Byte, Char, Short, Int, Long, Float和Double,以及Boolean类型。跟Java不同的是,这些类型是类。可以对数值执行方法,1.toString()
Scala不需要类型包装,类型之间的转换是Scala编译器的工作。简单的说,只需要了解上面7中数值类型,不需要了解更多StringOps或者RichInt等功能更强大的类。
Scala中,用方法而不是强制性类型转换,来做数值类型之间的转换。99.55.toInt => 99 “99.44”.toDouble => 99.44
1.3 算术和操作符重载
中置表达法 x op y 相当于 x.op(y), 后置表示法 x op 相当于 x.op()
只有+ - ! ~能作为前置符使用
赋值语句 x op=y 相当于 x = x op y
对于数字,没有++, –操作
1.4 调用函数和方法
相比Java,Scala中使用数学函数(min, max, pow)更简单——不需要从某个类调用它的静态方法。
import scala.math._ or import math._
Scala没有静态方法,不过它有个类似的特性,叫做单里对象(singleton object)。通常,一个类对应有一个伴生对象(companion object),其方法更Java中的静态方法一样!
1.5 apply方法
在Scala中,我们用apply实现类似函数调动的语法,比如 “hello”(4) 是“hello”.apply(4)的简写。
此外,使用伴生对象的apply方法是Scala中构建对象的常用方法。例如 Array(1,3,4,5)返回一个数组,用的是Array伴生对象的apply方法。