(一) 变量的数据类型有以下作用:
1. 限制一个变量能被赋予的值和这些值的操作;
2.限制一个表达式可产生的值。
Scala的数据类型可以分为“数值类型”和“非数值类型”两大类。其中,数值类型跟Java中的数值类型是相同的,而非数值类型有点类似于Java中的引用类型,如:对象、字符串等。
(二)与java的区别:
1. 数据类型的首字符都是大写的。
2.定义变量时可以省略类型,让scala编译器自动推断
(三)Scala支持的数据类型
1. Byte: 8位有符号整数。数值区间为-128~127
2. Short:16位有符号整数。数值区间为-32768~32767
3. Int: 32位有符号整数。数值区间为-2147483648~2147483647。默认类型
4. Long: 64位有符号整数。数值区间为-9223372036854775808~ 9223372036854775807
5. Float:32位IEEE 754标准的单精度浮点数
6. Double:64位IEEE 754标准的双精度浮点数。默认值
7. Char:16位无符号Unicode字符, 区间值为U+0000~U+FFFF
8. String:字符序列
9. Boolean:true或false
10. Unit:表示无值,和其他语言中的void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()
11. Null:null或空引用
12. Nothing:Nothing类型在Scala的类层级的最底端,它是任何其他类型的子类型
13. Any:Any是所有其他类的超类
14. AnyRef:AnyRef类是Scala里所有引用类(reference class)的基类
代码如下:
Scala中的数值数据类型******
[Scala中的数值类型可以分为三大类,分别为整数类型、字符类型和浮点类型,如图所示。其中整数类型包括字节、短整型(占16位)、整型(占32位)、长整型(占64位),浮点类型有单精度和双精度之分。]
[编码示范]
val a = 3
var b = 3L // L 表示长整型
var c:Float = 3.0f // f 表示浮点型
var d = 1.1 // 默认小数是double
(五)类型转换
1.自动类型转换
在赋值和运算时,范围小的数据类型会自动转换为范围大的数据类型,再计算。
例如:
1 + 1.1 的结果就是Double类型的2.1。
2.范围类型从小到大排列如下:
byte → short → char → Int -> Long → Float → Double