Skip to main content

data type

一、 数值类型 (Numeric Types)

1. 有符号整数 & 浮点数

数据类型描述 (位宽)示例代码
Byte8位有符号整数 (-128 ~ 127)val b: Byte = 1
Short16位有符号整数val s: Short = 100
Int32位有符号整数 (默认)val i: Int = 10
Long64位有符号整数 (后缀 L)val l: Long = 1L
Float32位浮点数 (后缀 F)val f: Float = 1.0F
Double64位浮点数 (默认)val d: Double = 3.14

2. 无符号整数 (Unsigned)

[!NOTE] 无符号类型需要后缀 uuL

数据类型描述 (范围)示例代码
UByte8位 (0 ~ 255)val ub: UByte = 255u
UShort16位 (0 ~ 65535)val us: UShort = 1000u
UInt32位 (0 ~ 2^32 - 1)val ui: UInt = 10u
ULong64位 (0 ~ 2^64 - 1)val ul: ULong = 100uL

二、 基础类型 (Basic Types)

类型类别数据类型描述示例
字符Char单个字符,使用单引号val c: Char = 'A'
布尔Boolean逻辑值 truefalseval isReady: Boolean = true
字符串String不可变字符序列val s: String = "Hello"
数组Array<T>泛型数组val a = arrayOf(1, 2, 3)

三、 特殊类型 (Special Types)

数据类型说明典型用法
Unit类似 Java 的 void,表示无返回值fun printLog(): Unit { ... }
Nothing表示程序永远不会到达的终点fun fail(): Nothing { throw Exception() }
Any所有非空类型的根(基类)val x: Any = "can be anything"

四、 重要特性:空安全性 (Null Safety)

Kotlin 通过类型系统强制区分可空非空

  • 非空类型var a: Int = 10(不能赋值为 null
  • 可空类型var b: Int? = null(在类型后加 ?

[!IMPORTANT] 虽然 Kotlin 在 JVM 上会将基本类型编译为原始类型(如 int),但当使用可空类型(如 Int?)或泛型时,它会自动进行装箱(Boxed)处理。