变量是一个值的存储空间,这个值可以是一个字符串、一个数字或者其他东西。 每个变量都有一个名称(或标识符)来区别于其他变量。 可以通过变量的名称访问值。变量是程序中最常用的元素之一。
在开始使用变量之前,必须先声明它。要声明变量,Kotlin 提供两个关键字:
val (value 的简写)声明一个只读(注)变量(只是一个命名值或常量),在初始化后不能改变它(这并不完全正确,我们将在后面更详细地讨论),对应 Java 中的 final 变量。
注:关于只读还是不可变,Kotlin 文档使用了 read-only ,而 JetBrains Academy 上使用了 immutable 。
Lucifer Watson
Not exactly. Read only or constant means that the variable cannot be reassigned whereas immutable means that value cannot be changed. The following will fail because the variable is constant or read only. val a = “hello” a = a + " world" The following will work but (if we ignore any compiler optimisation) there will now be three strings in memory, “hello”, " world", and “hello world” because strings are immutable, they cannot be changed once created. Here I am assuming that Kotlin is like most other languages in that regard. var a = “hello” a = a + " world"
https://kotlinlang.org/docs/reference/basic-syntax.html#defining-variables https://hyperskill.org/learn/step/4371
var (variable 的简写) 声明了一个可更改的可变变量(根据需要可以更改多次)。
声明变量时,必须在这些关键字之一后添加其名称。 注意: 变量的名称不能以数字开头。 通常,它以一个字母开头。 您应该为变量选择有意义和可读的名称,以便使您的代码易于理解。
为了给变量赋值,我们应该使用赋值运算符 = 。
让我们声明一个名为 language 的不可变变量,并用字符串 "Kotlin" 初始化它。
val language = "Kotlin"现在我们可以通过变量的名称来访问这个字符串!
println(language) // prints "Kotlin" without quotes此变量在初始化后不能修改,因为它已被声明为 val 。
让我们声明一个名为 dayOfWeek 的变量,并在更改它之前和之后打印它的值。
var dayOfWeek = "Monday" println(dayOfWeek) // Monday dayOfWeek = "Tuesday" println(dayOfWeek) // Tuesday在上面的示例中,我们声明了一个名为 dayOfWeek 的变量,并用值 “Monday” 对其进行了初始化。 然后,我们通过变量名访问该值并将其打印出来。 在此之后,我们将变量的值更改为 “Tuesday” 并打印这个新值。
您不需要再次声明变量来更改其值。只需使用 = 操作符为它赋一个新值。
当然,也可以用另一个变量的值声明和初始化一个变量:
val cost = 3 val costOfCoffee = cost println(costOfCoffee) // 3变量不仅可以存储字符串,还可以存储数字、字符和其他数据类型,我们将进一步讨论这些。
让我们声明三个不可变变量来存储一个数字、一个字符串和一个字符,然后输出它们的值。
val ten = 10 val greeting = "Hello" val firstLetter = 'A' println(ten) // 10 println(greeting) // Hello println(firstLetter) // A对于可变变量(使用关键字 var 声明)有一个限制。 您只能重新分配与初始值相同类型的值。 因此,下面这段代码是不正确的:
var number = 10 number = 11 // ok number = "twelve" // an error here!请记住这个限制!
现在您知道了,有两个关键字用于声明变量。 实际上,在许多情况下,最好使用不可变变量声明的关键字 val。 在使用 var 之前,您应该确保 val 不适合这种情况。 如果不是,使用 var。 尽管要记住,程序中的可变变量越多,就越难读取。 您知道,不可变变量有助于编写可读的代码。 所以,请尽可能使用 val!你可以很容易地用 var 替换它,当你绝对需要的时候。
给定带有无效声明的两个变量 a 和 b,修正这些声明。
a = 512343 b = 3431231添加 val 声明。
val a = 512343 val b = 3431231数字文字应该用下划线分隔,以增加可读性。
val a = 512_343 val b = 3_431_231链接:https://hyperskill.org/learn/step/4371