目录
Scala解释器和常用数据类型
Scala解释器
启动Scala解释器步骤如下:
-
安装Scala
-
环境变量已配置好
-
打开命令行,键入scala,回车
键入命令,每一次回车后,解释器都会将结果打印出来。
解释器会同时显示结果的类型,并且自动将结果存储,即图中res0,res1。值得一提的是,在scala解释器中,与linux命令一样,可以使用tab键来补全方法名。
Scala解释器读到一个表达式,对他进行求值,将他打印出来接着进行下一个表达式。这个过程被称为读取-求值-打印-循环,即REPL。
注:从技术上讲,Scala程序并不是一个解释器。实际上,你输入的内容被快速的编译成字节码,然后交由JAVA虚拟机执行。正因为如此,大多数程序员更倾向于称呼它为“REPL”。
声明值和变量
除了使用系统自动定义的名称之外,也可以自定义名称,在后续你也可以继续使用它:
当然也可以使用var关键字,var与val的区别在于,var定义的是变量,即在定义后仍然可以改变内容,val定义的是常量,即内容不可改变。另外值得注意的是,Scala语言对大小写敏感。
在初始化变量时,可以不用指定数据类型,但如果必要,也可以进行定义,在scala中,变量或函数类型都是定义在名字后面的,之间用“:”隔开。在变量定义或赋值过程中,在同一行代码中存在多条语句时才会使用到“;”。
常用数据类型
注意:在Scala中,任何数据都是对象。比如在scala中,对于Int类型数据1,可以使用它的toString方法将它转换成String类型。
接下来学习Scala中常用的数据类型:
数据类型 | 描述 |
---|---|
Byte | 8位有符号补码整数。数值区间为 -128 到 127 |
Short | 16位有符号补码整数。数值区间为 -32768 到 32767 |
Int | 32位有符号补码整数。数值区间为 -2147483648 到 2147483647 |
Long | 64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807 |
Float | 32 位, IEEE 754 标准的单精度浮点数 |
BigInt | 任意大小,但有穷的数据 |
Double | 64 位 IEEE 754 标准的双精度浮点数 |
BigDecimal | 任意大小,但有穷的数据 |
Char | 16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF |
String | 字符序列 |
Boolean | true或false |
Unit | 表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。 |
Null | null 或空引用 |
Nothing | Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。类似于exception |
Any | Any是所有其他类的超类 |
AnyRef | AnyRef类是Scala里所有引用类(reference class)的基类 |
简单练习:
(1)对字符串进行插值操作,需要再语句前加上s代表执行:
(2)Nothing类型:一般表示在执行过程中,产生了Exception:
(3)Unit类型:相当于Java中的void类型
算术和操作符重载
Scala中的算术符与JAVA、C中的功能是一样的,比如:+-*/,& | >><<等。需要注意的是,在Scala中,上述操作符,其实是方法。
例如a+b,其实是如下方法调用的简写:
a.+(b)
这里的“+”其实是一个方法,在Scala中,可以使用几乎任何符号来为方法命名。通常来说,可以使用a 方法 b,来作为a.方法(b)的简写。
需要注意的是,Scala中没有提供++操作和--操作,我们需要使用+=1,-=1来替代。
参考文献: