Kotlin 变量

Kotlin 变量

变量是存储数据值的容器。

要创建变量,请使用 varval,并使用等号 (=) 为其赋值:

语法

var variableName = value
val variableName = value

实例

var name = "Bill"
val birthyear = 1969

println(name)          // 打印 name 的值
println(birthyear)     // 打印 birthyear 的值

亲自试一试

varval 之间的区别是,使用 var 关键字声明的变量可以更改/修改,而 val 变量则不能

变量类型

与许多其他编程语言不同,Kotlin 中的变量不需要使用特定类型(如文本使用 String,数字使用 Int,如果您熟悉这些类型)进行声明。

要在 Kotlin 中创建一个应存储文本的变量和另一个应存储数字的变量,请查看下例:

实例

var name = "Bill"      // String (文本)
val birthyear = 1969   // Int (数字)

println(name)          // 打印 name 的值
println(birthyear)     // 打印 birthyear 的值

亲自试一试

Kotlin 非常智能,可以理解 "Bill" 是一个 String(文本),而 1969 是一个 Int(数字)变量。

但是,如果您坚持,可以指定类型:

实例

var name: String = "Bill" // String
val birthyear: Int = 1969 // Int

println(name)
println(birthyear)

亲自试一试

您还可以声明变量而不分配值,然后稍后再分配值。但是,仅当您指定类型时才可能这样做:

实例

这样可以正常工作:

var name: String
name = "Bill"
println(name)

亲自试一试

实例

这将生成错误:

var name
name = "Bill"
println(name)

亲自试一试

注意:您将在下一章中了解有关数据类型的更多信息。

关于 val 的注意事项

当您使用 val 关键字创建变量时,无法更改/重新分配值。

下例将生成错误:

实例

val name = "Bill"
name = "Robert"  // 错误(Val 无法重新分配)
println(name)

亲自试一试

当使用 var 时,您可以随时更改值:

实例

var name = "Bill"
name = "Robert"
println(name)

亲自试一试

那么何时使用 val?

当您希望变量始终存储相同的值时,val 关键字很有用,例如 PI(3.14159...):

实例

val pi = 3.14159265359
println(pi)

亲自试一试

显示变量

就像您在上面的例子中看到的那样,println() 方法通常用于显示变量。

要组合文本和变量,请使用 + 字符:

实例

val name = "Bill"
println("Hello " + name)

亲自试一试

您还可以使用 + 字符将一个变量添加到另一个变量:

实例

val firstName = "Bill "
val lastName = "Gates"
val fullName = firstName + lastName
println(fullName)

亲自试一试

对于数值,+ 字符用作数学运算符:

实例

val x = 5
val y = 6
println(x + y) // 打印 x + y 的值

亲自试一试

从上面的例子中,您可以预期:

  • x stores the value 5
  • y stores the value 6
  • 然后,我们使用 println() 方法显示 x + y 的值,即 11

变量名

变量可以有一个简短的名称(如 x 和 y)或更具有描述性的名称(age、sum、totalVolume)。

Kotlin 变量的一般规则是:

  • 名称可以包含字母、数字、下划线和美元符号
  • 名称应以字母开头
  • 名称也可以以 $_ 开头(但我们在本教程中不会使用它)
  • 名称区分大小写(myVarmyvar 是不同的变量)
  • 名称应以小写字母开头,且不能包含空格
  • 保留字(如 Kotlin 关键字,如 varString)不能用作名称

驼峰式变量

您可能会注意到,我们在上面的示例中使用了 firstNamelastName 作为变量名,而不是 firstname 和 lastname。这被称为 "camelCase",它被认为是一种好的做法,因为它使您在变量名中包含不同单词时更容易阅读,例如 "myFavoriteFood"、"rateActionMovies" 等。