Scala 中的变量
在接下来的课程中,你将学习变量以及它们在 Scala 中的声明方式。
引言
想象你有多个盒子,每个盒子只能存放一个物品。在存放任何东西之前,你需要决定每个盒子可以存放什么类型的东西。但现在你有太多盒子了,记不清每个盒子里面放的是什么。于是你决定给每个盒子贴上唯一的标签。这样就能清楚地知道每个盒子里装的是什么。这些标签起到了标识的作用,为每个盒子赋予了独特的身份。
同样地,变量就像是一个用来存储数据的小盒子。当我们“赋值”给一个变量时,实际上就是把某个东西放进盒子中。当你声明一个变量时,会为其指定一个唯一的名称(即标识符),定义它能存储的数据类型,并设置初始值。虽然大多数编程语言在声明变量的方式上类似,但 Scala 有一些不同之处。
声明变量
让我们来看看 Scala 中如何声明变量的语法。
现在,我们来将这个语法对应到实际的 Scala 代码中:
1val myFirstScalaVariable: Int = 5
在上面的代码中,我们声明了一个名为 myFirstScalaVariable 的变量。该变量可以存储 Int 类型的数据,并被赋予初始值 5。由于我们使用了关键字 val,因此这是一个不可变变量。
如前所述,在声明变量时,我们需要定义其数据类型并设置初始值。但在 Scala 中,我们还必须额外使用一个“关键字”,以说明这个变量是可变的还是不可变的。
但什么是关键字?我们该如何选择合适的关键词呢?
选择正确的关键字
在本章中,我们只关注两个关键字:val 和 var。
- 使用
val声明的变量是不可变的;一旦初始化后,就无法再重新赋值。 - 使用
var声明的变量是可变的;在整个生命周期内可以随时重新赋值,只要保持有效即可。
关于不可变和可变变量的详细内容,我们将在接下来的课程中深入探讨。
多个变量
在大型程序中,可能会存在大量变量。如果记不清每个变量存储的内容,就会造成困扰。因此,在命名变量时,务必选择有意义的名字,这样将来再次阅读代码时,能够立刻明白该变量存储了什么数据,以及当初为何要声明它。
下面是一个需要存储书籍信息的例子:
1val bookTitle: String = "指环王:魔戒现身" 2val bookAuthor: String = "J. R. R. 托尔金" 3val bookNoOfPages: Int = 423
在上述代码中,我们声明了三个变量:
- 第一个变量名为
bookTitle,类型为String,初始值为 "指环王:魔戒现身",用于存储书名。 - 第二个变量名为
bookAuthor,类型为String,初始值为 "J. R. R. 托尔金",用于存储作者姓名。 - 第三个变量名为
bookNoOfPages,类型为Int,初始值为 423,用于存储书籍的页数。
所有变量都是不可变的,因为我们都在标识符前使用了 val 关键字。通过合理的命名,我们可以很容易地判断出每个变量所存储的数据内容。
在进入下一节关于不可变与可变变量的讨论之前,让我们先学习如何在 Scala 中使用打印语句,这将在下节课中介绍。