位置:首页 > > Scala变量

Scala变量

变量是只不过是保留内存位置来存储值。这意味着,当创建一个变量,会在内存中保留一些空间。

基于变量的数据类型,所述编译器分配存储器,并决定什么可以被存储在保留存储器。因此,通过分配不同的数据类型的变量,可以存储整数,小数,或字符在这些变量。

变量声明

Scala的变量声明有不同的语法,它们可以被定义为值,即,常量或变量。下面是使用var关键字来定义一个变量的语法:

var myVar : String = "Foo"

在这里,myVar使用关键字var声明。这意味着它是一个可以改变值的变量,被称为可变变量。下面是使用val关键字来定义变量的语法:

val myVal : String = "Foo"

这里,myVal是使用关键字val声明。这意味着,它是不能改变的变量,这是所谓的不可变变量。

变量数据类型:

变量类型在变量名后面指定,前在equals之前签署。可以通过它的数据类型定义任何类型的Scala变量如下:

val or val VariableName : DataType [= Initial Value]

如果不指定任何初始值变量,那么如下所示它是有效的:

var myVar :Int;
val myVal :String;

变量类型推断:

当分配一个初始值给一个变量,Scala编译器可以计算出根据分配给它的值的变量类型。这就是所谓的变量类型推断。因此,可以写这些变量的声明如下这样:

var myVar = 10;
val myVal = "Hello, Scala!";

在这里,默认情况下,myVar是int类型,将设为myVal为字符串类型变量。

多重任务:

Scala支持多任务。如果一个代码块或方法返回一个元组,该元组可被分配给一个val变量。 [注:元组在以后的章节中学习。]

val (myVar1: Int, myVar2: String) = Pair(40, "Foo")

类型推断得到正确类型:

val (myVar1, myVar2) = Pair(40, "Foo")

变量类型:

Scala变量可以有三种不同的范围,这取决于它们正在使用的地方。它们可以存在于字段,方法参数和局部变量。下面是关于每种类型的适用范围的详细信息:

字段:

字段是属于一个对象的变量。该字段是从对象中的所有方法中访问。字段也可以是具体取决于访问修饰符字段与声明的对象外访问。对象字段既可以是可变的或不可变的类型,可以使用var 或 val两种定义。

方法参数:

方法的参数是变量,其用于传递方法内的值在方法被调用时。方法参数被从方法唯一传入,但传递的对象可从外面,如果从外面的方法有一个引用对象。方法参数始终是可变的并由val关键字定义。

局部变量:

局部变量是在方法内声明的变量。局部变量只能在方法中访问,但可以访问创建方法的对象(如果从方法中返回它们)。局部变量既可以是可变的或不可变的类型,可以使用var或val两个关键字定义。