变量被称为对存储位置的引用。 该位置存储程序使用的数据。
根据变量的数据类型,定义分配的内存大小。
Scala变量是内存位置。Scala允许您定义两种类型的变量:
可变变量
不变变量
允许我们随时在代码中更改其值的变量。Scala变量是使用var关键字创建的。您可以选择给变量的数据类型加上名字大写的数据类型名称。
//变量数据类型的语法 var variable_name : Data_type = value; //没有变量数据类型的语法 var variable_name = value;
示例
object MyClass { def main(args: Array[String]) { var a : Int = 33; var b = 54; a++; println("声明为数据类型的变量: " + a ); println("声明为无数据类型的变量: " + b ); } }
输出结果
声明为数据类型的变量: 34 声明为无数据类型的变量: 54
使不可变的变量是Scala中的只读变量。这意味着它们的值在整个程序中保持不变。Scala变量是使用val关键字创建的。您可以选择给变量的数据类型加上名字大写的数据类型名称。
//变量数据类型的语法 val variable_name : Data_type = value; //没有变量数据类型的语法 val variable_name = value;
示例
object MyClass { def main(args: Array[String]) { val a : Int = 34; val b = 54; //a ++; 在这种情况下是不允许的 println("immutable 声明为数据类型的变量: " + a ); println("声明不带数据类型的不可变变量: " + b ); } }
输出结果
immutable 声明为数据类型的变量: 34 声明不带数据类型的不可变变量: 54
变量的延迟初始化是在首次访问它们时计算出的那些变量。在scala中,可变变量不能是惰性的。
只有val即不可变变量可以使延迟。这意味着这些变量仅计算一次。
//变量数据类型的语法 lazy val variable_name : Data_type = value; //没有变量数据类型的语法 lazy val variable_name = value;
示例
object MyClass { def main(args: Array[String]) { lazy val a : Int = 34; val b = 54; //a ++; 在这种情况下是不允许的 println("不可变变量,其数据类型带有惰性声明: " + a ); println("声明不带数据类型的不可变变量: " + b ); } }
输出结果
不可变变量,其数据类型带有惰性声明: 34 声明不带数据类型的不可变变量: 54