跳转至

Kotlin 变量

原文: http://zetcode.com/kotlin/variables/

Kotlin 变量教程展示了如何在 Kotlin 中使用变量。

Kotlin 是在 Java 虚拟机上运行的静态类型的编程语言。 每个表达式的类型在编译时都是已知的。

变量是存储数据的地方。 变量具有名称和数据类型。 数据类型确定可以为变量分配哪些值。 Kotlin 具有以下基本类型:DoubleFloatLongIntShortByte

Kotlin 变量

Kotlin 中有两种类型的变量:只读和可变。 只读变量(或常量)用val声明,并用var可变。

Kotlin 数据类型推断

Kotlin 可以从分配的右侧推断变量的数据类型。 仅当推迟分配时,数据类型才是必需的。

val word = "cloud"
val word: String = "cloud"

数据类型遵循标识符和 Kotlin 中的冒号。

Kotlin 变量示例

下面的示例创建两个变量。

KotlinVariables.kt

package com.zetcode

fun main(args: Array<String>) {

    val word = "influence"
    println(word)

    var word2 = "sunshine"
    println(word2)

    word2 = "rain"
    println(word2)
}

有一个只读变量和一个可变变量。

val word = "influence"

使用val关键字,我们定义了一个只读变量。 其值以后无法在程序中更改。 数据类型为 String,这是从赋值右侧的字符串字面值推断出来的。

var word2 = "sunshine"
println(word2)

word2 = "rain"
println(word2)

使用var关键字,我们定义了一个可变变量。 稍后在程序中修改变量的值。

influence
sunshine
rain

这是程序的输出。

Kotlin 变量延迟赋值

在下面的示例中,我们在声明变量后推迟变量的赋值。

KotlinVariableDeffered.kt

package com.zetcode

fun main(args: Array<String>) {

    val input: String?

    print("Enter something: ")
    input = readLine()

    println(input)
}

该示例从用户读取输入。

val input: String?

我们声明一个String数据类型的变量。 后面的问号告诉 Kotlin 该变量可以为 null。 这次必须显式提供数据类型。

print("Enter something: ")

我们向用户打印提示。

input = readLine()

使用readLine()从用户读取输入。 目前,我们已经为input变量分配了一个值。

Kotlin 属性

在类中创建的变量是属性。 只读变量具有默认访问器和可变变量访问器和变异器。

KotlinProperties.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类,具有两个属性:nameage

var name:String = ""
var age:Int = 0

我们有两个可变属性。

override fun toString(): String {
    return "Person(name='$name', age=$age)"
}

我们重写toString()方法以获得Person对象的字符串表示形式。

val p1 = Person()
p1.name = "Peter"
p1.age = 23

创建一个Person对象。 我们设置两个属性。

Person(name='Peter', age=23)

这是输出。

在本教程中,我们使用了 Kotlin 中的变量。 您可能也对相关教程感兴趣: Kotlin 列表教程Kotlin 运算符教程Kotlin 字符串教程Kotlin 控制流教程Kotlin 数组教程Kotlin 读取文件教程Kotlin 写入文件教程


我们一直在努力

apachecn/AiLearning

【布客】中文翻译组