目录
一、数据类型概述
Scala 与 Java有着相同的数据类型,在Scala中数据类型都是对象,也就是说scala没有java中的原生类型。
Scala数据类型分为两大类 AnyVal(值类型) 和 AnyRef(引用类型), 注意:不管是AnyVal还是AnyRef 都是对象。
1、scala数据类 型体系一览图
-
根类型Any
-
Null是scala中的特别类型,它只有一个值null,是bottom class(底层类),是所有AnyRef的子类型
-
Nothing也是底层类,是所有类的子类,开发中常将Nothing类型的值给任意变量或者函数,这里用来抛出异常使用很多,表名方法没有正常返回值
def sayHi():Nothing={
throw new Exception ("exception")
}
2、scala数据类型列表
二、数据类型
1、整数类型
使用细节
- Scala各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证Scala程序的可移植性。
- Scala的整型 常量/字面量 默认为 Int 型,声明Long型 常量/字面量 须后加‘l’’或‘L’
- Scala程序中变量常声明为Int型,除非不足以表示大数,才使用Long
2、浮点类型
浮点型使用细节
-
与整数类型类似,Scala 浮点类型也有固定的表数范围和字段长度,不受具体OS的影响。
-
Scala的浮点型常量默认为Double型,声明Float型常量,须后加‘f’或‘F’。
-
浮点型常量有两种表示形式:
十进制数形式:如:5.12 512.0f .512 (必须有小数点)
科学计数法形式:如:5.12e2 = 5.12乘以10的2次方 5.12E-2 = 5.12除以10的2次方
-
通常情况下,应该使用Double型,因为它比Float型更精确(小数点后大致7位)
3、字符类型(Char)
字符类型可以表示单个字符,字符类型是Char, 16位无符号Unicode字符(2个字节), 区间值为 U+0000 到 U+FFFF
(1)字符类型使用细节
-
字符常量是用单引号(‘ ’)括起来的单个字符。例如: