一、变量定义
val所定义的为常量
var所定义的为变量
val使用方法:
val str = "Hello, World" //变量类型为String类型,可以不用申明变量类型
val num = 55 //变量类型为String类型
如果需要申明变量值的类型需要以:类型的形式附加在变量名后面,如下所示:
val str : String = "Hello, World"
注意:常量不可以修改,否则报错!
var使用方法:
var str = "Hello, World"`
str = "Hello, World" //可以再次重新赋值
二、Lazy变量
用法:
lazy val v1 = "test1"
经过lazy关键字修饰的变量只有真正使用时才会被赋值,lazy关键字只能用于修饰val类型的变量。
三、基本数据类型
数据类型 | 取值范围 |
---|---|
Byte字节型 | 8位有符号的整数(-27~27-1) |
Short短整型 | 16位有符号的整数(-216~216-1) |
Int整型 | 32位有符号的整数(-232~232-1) |
Long长整型 | 64位有符号的整数(-264~264-1) |
Char字符型 | 16位无符号的字符数(0~216-1) |
String字符串型 | 连续字符串 |
Float浮点型 | 32位浮点数 |
Double双精度浮点型 | 64位浮点数 |
Boolean布尔型 | 真(true),假(false) |
- Scala中的基本数据类型与Java中的基本数据类型是一一对应的。
- Scala中的数据类型首字母是大写的。
- Scala中一切皆为对象,所有的操作都是方法调用。
- Scala是基于内容比较,而Java基于引用比较,所以直接使用==来比较两个对象。
四、其他数据类型
- 元组
元组是不同类型值的聚集,它可以将不同类型的值放在一个变量中保存。
val tuple = ("Hello", "China", 1) //定义一个元组tuple
println(tuple._1) //访问元组的第一个元素
val s = tuple._2 //获取元组的第二个元素
val (first, second, third) = tuple //提取元组的所有内容
- 符号
符号(Symbol)类型的定义需要使用'符号
val s = 'start
val s1 : Symbol = 'Stop // 明确指定为Symbol类型