变量
语法
- 变量定义
- 刚刚开始学习,可直接使用Scala SDK自带的交互命令行,或者使用IDEA软件建立Scala项目
- 交互命令行可以使用Windows命令行输入scala打开(前提配置好了Scala SDK环境变量)。
先来看个例子:
// Scala定义变量的方法(注意与Java的不同之处): val/var 名称:类型 = 初始值
// Scala代码末尾可不加分号
// val定义的是不允许重新赋值的变量,也即是定义后不能再对a进行赋值操作
val a:Int = 1
// var与val相反,其定义的变量可被重新赋值
var b:String = "xxx"
// 可不声明变量类型,编译器会自动判断其类型
var c = 0.33
- 惰性变量
- 使用lazy关键字,Scala将在调用到该对象的时候再将其加载(实例化)。注意惰性变量只可用于不可变变量
lazy val ss = "asd"
Scala数据类型
Scala数据类型与Java相似,但是Scala的数据类型均为大写,如Int、Byte等,这与Java不同。
类型 | |
---|---|
Byte | 8位带符号整数 |
Short | 16位带符号整数 |
Int | 32位带符号整数 |
Long | 64位带符号整数 |
Char | 16位无符号Unicode字符 |
String | Char类型的序列(字符串) |
Float | 32位单精度浮点数 |
Double | 64位双精度浮点数 |
Boolean | true或false |
Scala的类
Scala的类结构如下:
scala类结构.png- Any
可类比于Java的Object
- AnyVal
他是所有数值类型的父类
- AnyRef
他是所有引用/对象类型的父类
- Unit
类比于Java的void,注意他是AnyVal的子类;
只有一个实例(),表示空;
由此你有没有觉得Scala比Java更加面向对象?
- Null
所有引用类型的子类,其实例是null
- Nothing
所有类型的子类,无法直接创造该类型实例
网友评论