🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Kotlin 变量 > 原文: [http://zetcode.com/kotlin/variables/](http://zetcode.com/kotlin/variables/) Kotlin 变量教程展示了如何在 Kotlin 中使用变量。 Kotlin 是在 Java 虚拟机上运行的静态类型的编程语言。 每个表达式的类型在编译时都是已知的。 变量是存储数据的地方。 变量具有名称和数据类型。 数据类型确定可以为变量分配哪些值。 Kotlin 具有以下基本类型:`Double`,`Float`,`Long`,`Int`,`Short`和`Byte`。 ## Kotlin 变量 Kotlin 中有两种类型的变量:只读和可变。 只读变量(或常量)用`val`声明,并用`var`可变。 ## Kotlin 数据类型推断 Kotlin 可以从分配的右侧推断变量的数据类型。 仅当推迟分配时,数据类型才是必需的。 ```kt val word = "cloud" val word: String = "cloud" ``` 数据类型遵循标识符和 Kotlin 中的冒号。 ## Kotlin 变量示例 下面的示例创建两个变量。 `KotlinVariables.kt` ```kt package com.zetcode fun main(args: Array<String>) { val word = "influence" println(word) var word2 = "sunshine" println(word2) word2 = "rain" println(word2) } ``` 有一个只读变量和一个可变变量。 ```kt val word = "influence" ``` 使用`val`关键字,我们定义了一个只读变量。 其值以后无法在程序中更改。 数据类型为 String,这是从赋值右侧的字符串字面值推断出来的。 ```kt var word2 = "sunshine" println(word2) word2 = "rain" println(word2) ``` 使用`var`关键字,我们定义了一个可变变量。 稍后在程序中修改变量的值。 ```kt influence sunshine rain ``` 这是程序的输出。 ## Kotlin 变量延迟赋值 在下面的示例中,我们在声明变量后推迟变量的赋值。 `KotlinVariableDeffered.kt` ```kt package com.zetcode fun main(args: Array<String>) { val input: String? print("Enter something: ") input = readLine() println(input) } ``` 该示例从用户读取输入。 ```kt val input: String? ``` 我们声明一个`String`数据类型的变量。 后面的问号告诉 Kotlin 该变量可以为 null。 这次必须显式提供数据类型。 ```kt print("Enter something: ") ``` 我们向用户打印提示。 ```kt input = readLine() ``` 使用`readLine()`从用户读取输入。 目前,我们已经为`input`变量分配了一个值。 ## Kotlin 属性 在类中创建的变量是属性。 只读变量具有默认访问器和可变变量访问器和变异器。 `KotlinProperties.kt` ```kt package com.zetcode class Person { var name:String = "" var age:Int = 0 override fun toString(): String { return "Person(name='$name', age=$age)" } } fun main(args: Array<String>) { val p1 = Person() p1.name = "Peter" p1.age = 23 println(p1) } ``` 在示例中,我们有一个`Person`类,具有两个属性:`name`和`age`。 ```kt var name:String = "" var age:Int = 0 ``` 我们有两个可变属性。 ```kt override fun toString(): String { return "Person(name='$name', age=$age)" } ``` 我们重写`toString()`方法以获得`Person`对象的字符串表示形式。 ```kt val p1 = Person() p1.name = "Peter" p1.age = 23 ``` 创建一个`Person`对象。 我们设置两个属性。 ```kt Person(name='Peter', age=23) ``` 这是输出。 在本教程中,我们使用了 Kotlin 中的变量。 您可能也对相关教程感兴趣: [Kotlin 列表教程](/kotlin/lists/), [Kotlin 运算符教程](/kotlin/operators/), [Kotlin 字符串教程](/kotlin/strings/), [Kotlin 控制流教程](/kotlin/controlflow/) , [Kotlin 数组教程](/kotlin/arrays/), [Kotlin 读取文件教程](/kotlin/readfile/)和 [Kotlin 写入文件教程](/kotlin/writefile/)。