基本数据类型
| Byte | 8位有符号补码整数。数值区间为 -128 到 127 |
|---|---|
| Short | 16位有符号补码整数。数值区间为 -32768 到 32767 |
| Int | 32位有符号补码整数。数值区间为 -2147483648 到 2147483647 |
| Long | 64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807 |
| Float | 32 位, IEEE 754 标准的单精度浮点数 |
| Double | 64 位 IEEE 754 标准的双精度浮点数 |
| Char | 16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF |
| String | 字符序列 |
| Boolean | true或false |
| Unit | 表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。 |
| Null | null 或空引用 |
| Nothing | Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。 |
| Any | Any是所有其他类的超类 |
| AnyRef | AnyRef类是Scala里所有引用类(reference class)的基类 |
基本数据类型的注意事项
1 | def main(args: Array[String]): Unit = { |
变量和产量
- var 和 val;
- var用来修饰一个属性将它定义为变量,值可变
- val用来修饰一个属性将它定义为产量,值不可变
设计者为什么要设计var 和 val
1.在实际编程中,我们更多的需求是获取创建一个对象后,读取该对象的属性,或者修改这个对象的属性值
但是我们会很少修改对象本身
2.这时我们就可以使用 val 没有线程安全的问题,因为效率高
3.如果我们的对象需要改变,则使用var
//var 和 val的区别 如下面所示
var dog = new Dog()
dog.age = 10 //给年龄复制会报错,因为年龄修饰的属性定义为常量,所以不可以修改
dog.name = “小白”
}
class Dog {
val age: Int = 0
var name: String = “小花”
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ryder!
评论






