Kotlin 变量
Kotlin 变量
变量是存储数据值的容器。
要创建变量,请使用 var
或 val
,并用等号(=
)为其赋值:
语法
var variableName = value
val variableName = value
实例
fun main() {
var name = "John"
val birthyear = 1975
println(name)
println(birthyear)
}
val
var
和 val
之间的区别在于,使用 var
关键字声明的变量可以更改/修改,而 val
变量不能。
变量类型
与许多其他编程语言不同,Kotlin 中的变量不需要用指定的类型声明(例如,如果您熟悉 "String" 表示文本,或者 "Int" 表示数字)。
要在 Kotlin 中创建一个应存储文本的变量和另一个应存储数字的变量,请查看以下示例:
实例
fun main() {
var name = "John" // String
val birthyear = 1975 // Int
println(name)
println(birthyear)
}
Kotlin 能够理解 "John" 是一个字符串(文本),而 1975 是一个Int(数字)变量。但是,如果您坚持,也可以指定类型:
实例
fun main() {
var name: String = "John" // String
val birthyear: Int = 1975 // Int
println(name)
println(birthyear)
}
也可以在不赋值的情况下声明变量,然后再赋值。但是,这只有在指定类型时才行:
这样会产生一个错误:
fun main() {
var name
name = "John"
println(name)
}
这样才是正确的:
fun main() {
var name: String
name = "John"
println(name)
}
注意:在下一章中,您将学习到有关数据类型的更多信息。
Val
使用 val
关键字创建变量时,无法更改/重新分配该值。
下面的实例将生成一个错误:
实例
fun main() {
val name = "John"
name = "Robert"
println(name)
}
使用 var
时,可以随时更改该值:
实例
fun main() {
var name = "John"
name = "Robert"
println(name)
}
那么什么时候使用 val 呢?
如果希望变量始终存储相同的值,例如PI(3.14159…),则 val
关键字非常有用:
实例
fun main() {
val pi = 3.14159265359
println(pi)
}
显示变量
正如上面的例子所示,println()
方法通常用于显示变量。
要组合文本和变量,请使用 +
字符:
实例
fun main() {
val name = "John"
println("Hello " + name)
}
还可以使用 +
字符将一个变量添加到另一个变量中:
实例
fun main() {
val firstName = "John "
val lastName = "Doe"
val fullName = firstName + lastName
println(fullName)
}
对于数值,+
字符用作数学运算符:
实例
fun main() {
val x = 5
val y = 6
println(x + y) // Print the value of x + y
}
从上面的例子中,您可以预见:
- x 存储值 5
- y 存储值 6
- 然后我们使用 println() 方法来显示 x+y 的值,即 11
变量名
变量可以有一个短名称(如 x 和 y)或更多描述性名称(年龄、总和、总体积)。
Kotlin 变量的一般规则如下:
- 名称可以包含字母、数字、下划线和美元符号
- 名字应该以字母开头
- 名称也可以以 $ 和 _ 开头(但在本教程中我们将不使用它)
- 名称区分大小写("myVar" 和 "myVar" 是不同的变量)
- 名称应以小写字母开头,且不能包含空格
- 保留字(如 Kotlin 关键字,如 var 或 String)不能用作名称
camelCase 驼峰式变量
您可能会注意到,在上面的示例中,我们使用 firstName 和 lastName 作为变量名,而不是 firstname 和 lastname。这被称为 "camelCase"(驼峰式),它被认为是一种很好的做法,因为当你有一个变量名,其中包含有不同的单词时,驼峰式命名起来更容易阅读,例如 "myFavoriteFood"、"rateActionMovies" 等。