scala数据类型
整数类型
Byte
(1)自动提升原则:有多种类型的数据混合运算时,系统首先自动将所有数据转换成精度大的那种数据类型,然后再进行计算。
(2)把精度大的数值类型赋值给精度小的数值类型时,就会报错,反之就会进行自动类型转换。
(3)(byte,short)和char之间不会相互自动转换。
(4)byte,short,char他们三者可以计算,在计算时首先转换为int类型。
Short
Int
Scala程序中变量常声明为Int型,除非不足以表示大数,才使用Long
Long
Scala的整型,默认为Int型,声明Long型,须后加‘l’或‘L’
浮点类型
Float
Double
object TestDataType {
def main(args: Array[String]): Unit = {
// 建议,在开发中需要高精度小数时,请选择Double
var n7 = 2.2345678912f
var n8 = 2.2345678912
println("n7=" + n7)
println("n8=" + n8)
}
}
//运行的结果
n7=2.2345679
n8=2.2345678912
字符类型
Char
(1)字符常量是用单引号 ’ ’ 括起来的单个字符。
(2)\t :一个制表位,实现对齐的功能
(3)\n :换行符
(4)\ :表示
(5)" :表示"
布尔类型
Boolean
(1)布尔类型也叫Boolean类型,Booolean类型数据只允许取值true和false
(2)boolean类型占1个字节。
Unit、Nothing、Null类型
Uint
表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。
Unit只有一个实例——( ),这个实例也没有实质意义
Nothing
Nothing类型在Scala的类层级最低端;它是任何其他类型的子类型。
当一个函数,我们确定没有正常的返回值,可以用Nothing来指定返回类型,这样有一个好处,就是我们可以把返回的值(异常)赋给其它的函数或者变量(兼容性)
def testnothing:Nothing={
throw new Exception
}
var aa="sd"
aa=testnothing
Nothing,可以作为没有正常返回值的方法的返回类型,非常直观的告诉你这个方法不会正常返回,而且由于Nothing是其他任意类型的子类,他还能跟要求返回值的方法兼容。
Null
null , Null 类型只有一个实例值null
Null可以赋值给任意引用类型(AnyRef),但是不能赋值给值类型(AnyVal)