一、变量声明的简单说明:
Scala中变量的声明使用关键字val
和var
。val
类似Java中的final
变量,也就是常量,一旦初始化将不可修改;var
类似Java中的非final
变量,可以被多次赋值,多次修改。
val - value - 值
var - variable - 变量
1、使用val声明一个字符串变量name,即一个常量
2、使用var声明一个字符串变量message,再使用print函数输出
3、 换行输入语句(续行)
4、同时声明多个变量
5、定义变量可以不指定数据类型
Scala中鼓励优先使用val(常量),除非确实需要对其进行修改,才使用var(变量),并且Scala语句不需要结束符,除非同一行代码使用多条语句时才需要用分号分开。
二、数据类型
Scala数据类型层次结构如下图:
三、数据类型转换
Scala中的值类型可以按下图的方式转换,且转换是单向的。
四、引用类型的转换
此外,Scala还可以将引用类型转换为其子类型。
Nothing是所有类型的子类,在Scala类层级的最低端。Nothing没有对象,因此没有具体值,但是可以用来定义一个空类型,类似于Java中的标示性接口(如Serializable,用来标识该类可以进行序列化)。举个例子,如果一个方法抛出异常,异常的返回值类型就是Nothing(虽然不会返回)。
Null是所有引用类型(AnyRef)的子类,所以Null可以赋值给所有的引用类型,但不能赋值给值类型,这个和Java的语义是相同的。Null有一个唯一的单例值null。