变量是一种使用方便的占位符,用于引用计算机内存地址,变量创建后会占用一定的内存空间。基于变量的数据类型,操作系统会进行内存分配并且决定什么将被储存在保留内存中。因此,通过给变量分配不同的数据类型,你可以在这些变量中存储整数,小数或者字符串等。
变量的类型
Scala与Java有着相同的数据类型:
数据类型 | 描述 |
---|---|
Byte | 8位有符号补码整数。数值区间为 -128 到 127 |
Short | 16位有符号补码整数。数值区间为 到 |
Int | 32位有符号补码整数。数值区间为 到 |
Long | 64位有符号补码整数。数值区间为 到 |
Float | 32 位, IEEE 754标准的单精度浮点数 |
Double | 64 位 IEEE 754标准的双精度浮点数 |
Char | 16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF |
String | 字符序列 |
Boolean | true或false |
Unit | 表示无值,和其他语言中void类似。 |
Null | null 或空引用 |
Nothing | Nothing类型在Scala的类层级的最低端,是任何其他类型的子类型。 |
Any | Any是所有其他类的超类 |
AnyRef | AnyRef类是Scala里所有引用类(reference class)的基类 |
变量的声明
在学习如何声明变量与常量之前,我们先来了解一些变量与常量:
- 变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。
- 常量 在程序运行过程中其值不会发生变化的量叫做常量。如:数值 3,字符’A’。
在 Scala 中,使用关键词 “var”声明变量,使用关键词 “val” 声明常量:
scala> var myVar:String = "myVariable"
myVar: String = myVariable
scala> val myVal:String = "myValue"
myVal: String = myValue
以上定义的常量myVal是不能修改的。如果程序尝试修改常量 myVal 的值,程序将会在编译时报错。
变量类型声明
变量的类型在变量名之后等号之前声明且一定需要初始值,否则会报错。定义变量的类型的语法格式如下:
var VariableName : DataType = Initial Value
val VariableName : DataType = Initial Value
变量类型推断
在Scala中声明变量和常量不一定要指明数据类型,在没有指明数据类型的情况下,其数据类型是通过变量或常量的初始值推断出来的。
Scala 多个变量声明
Scala 支持多个变量的声明:
scala> val myVal1, myVal2 = 1
myVal1: Int = 1
myVal2: Int = 1
如果方法返回值是元组,我们可以使用 val 来声明一个元组:
scala> val myVal = (1, "myValue")
myVal: (Int, String) = (1,myValue)
scala> val (myVal1, myVal2) = (1, "myValue")
myVal1: Int = 1
myVal2: String = myValue