-3- scala变量及变量声明、初始化

2019-10-15  本文已影响0人  emm_simon

[参考link]

Scala变量

在Scala中,有三种方法可以定义变量:valvar延迟 val
Scala允许用户在声明变量时决定变量是否是不可变(只读)的

val(不可变变量)

使用关键字val声明不可变变量。这意味着它是一个不能更改的变量。
比如val x= 10创建一个名为x并赋值为10的值:

object PrintNumbers {
    def main(args: Array[String]) {
        val x = 10
        println(x*x) 
    }
}

运行脚本

$ scala val.scala
warning: there was one deprecation warning (since 2.13.0); re-run with -deprecation for details
100
$

var(可变变量)

用户也可以声明一个可变变量:

object PrintNumbers {
    def main(args: Array[String]) {
        var y = 10  // val是不可变变量,var是可变变量
        y = 11
        println(y) 
    }
}

运行脚本

$ scala var.scala
warning: there was one deprecation warning (since 2.13.0); re-run with -deprecation for details
11
$

延迟val

延迟val变量计算一次,第一次访问变量。只有vals可以是惰性变量。

Scala变量声明、初始化

Scala允许用户在声明它时确定变量是不可变的(只读的)还是不可变的(读写的)。

val变量声明、初始化

不可变的“变量"用关键字 val 声明、初始化:

val array: Array[String] = new Array(5) 

延迟val变量声明、初始化

数组元素本身是可变的,因此可以修改元素:

object Main {
    def main(args: Array[String]) {
        val array: Array[String] = new Array(5) 
        array = new Array(2) 
        array(0) = "Hello" 
        println(array )
    }
}

⚠️注意
在声明时必须初始化val。

可变变量声明、初始化

可变变量用关键字 var 声明,并且必须立即初始化。

object Main {
    def main(args: Array[String]) {
        var stockPrice: Double = 100.0 
        stockPrice = 200.0 
        println(stockPrice);
    }
}

示例:定义一个Person类

定义了一个具有不可变的名字和姓氏,但是一个可变的年龄的Person类:

class Person(val name: String, var age: Int) 

object Main {
    def main(args: Array[String]) {
        val p = new Person("Dean Wampler", 29) 
        println(p.name)
        println(p.age )
        p.age = 30
        println(p.age )
    }
}
上一篇 下一篇

猜你喜欢

热点阅读