Skip to content

基本类型

Kotlin 中的每个变量和数据结构都有一个类型。类型非常重要,因为它们告诉编译器你允许对该变量或数据结构执行哪些操作。换句话说,它具有哪些函数和属性。

在上一章节中,Kotlin 在之前的示例中能够识别出 customers 的类型为 Int。Kotlin 推断类型的能力称为类型推断customers 被赋予了一个整型值。由此,Kotlin 推断 customers 具有数值类型 Int。因此,编译器知道你可以对 customers 执行算术操作:

kotlin
fun main() {
    var customers = 10

    // 一些顾客离开队列
    customers = 8

    customers = customers + 3 // 加法示例: 11
    customers += 7            // 加法示例: 18
    customers -= 3            // 减法示例: 15
    customers *= 2            // 乘法示例: 30
    customers /= 3            // 除法示例: 10

    println(customers) // 10
}

+=-=*=/=%= 是增强赋值操作符。关于更多信息,请参见增强赋值

总而言之,Kotlin 具有以下基本类型:

类别基本类型示例代码
整型ByteShortIntLongval year: Int = 2020
无符号整型UByteUShortUIntULongval score: UInt = 100u
浮点数FloatDoubleval currentTemp: Float = 24.5fval price: Double = 19.99
布尔型Booleanval isEnabled: Boolean = true
字符Charval separator: Char = ','
字符串Stringval message: String = "Hello, world!"

关于基本类型及其属性的更多信息,请参见基本类型

掌握了这些知识,你可以声明变量并在以后初始化它们。只要变量在首次读取之前被初始化,Kotlin 就能处理这种情况。

要声明一个未初始化的变量,请使用 : 指定其类型。例如:

kotlin
fun main() {
    // 未初始化的变量声明
    val d: Int
    // 已初始化的变量
    d = 3

    // 显式指定类型并初始化的变量
    val e: String = "hello"

    // 变量可以被读取,因为它们已经初始化
    println(d) // 3
    println(e) // hello
}

如果你在读取变量之前没有初始化它,你会看到一个错误:

kotlin
fun main() {
    // 未初始化的变量声明
    val d: Int
    
    // 触发一个错误
    println(d)
    // 变量 'd' 必须被初始化
}

既然你已经知道如何声明基本类型,是时候学习集合了。

实践

练习

显式声明每个变量的正确类型:

kotlin
fun main() {
    val a: Int = 1000 
    val b = "log message"
    val c = 3.14
    val d = 100_000_000_000_000
    val e = false
    val f = '
'
}
示例解决方案
kotlin
fun main() {
    val a: Int = 1000
    val b: String = "log message"
    val c: Double = 3.14
    val d: Long = 100_000_000_000_000
    val e: Boolean = false
    val f: Char = '
'
}