时间:2025-10-06 12:35
人气:
作者:admin
在应用开发中,有些内容是固定的,例如“设置”中的菜单项;而有些内容会不断变化,比如新闻应用中的标题、来源或发布时间。为了让这些变化自动更新,而不是每次都修改代码,我们需要使用 变量(variable)。
在编程中,变量就像一个带标签的盒子,用来存放某个数据值。
举个例子:
name(表示名字)"Alex"(表示名字的值)当你想修改名字时,只需替换盒子里的值,而不必修改整个程序。
如果在代码中直接写死所有值,程序只能应对特定情况。
使用变量就像写信时使用模板,只需替换不同内容即可应对多种情况:
尊敬的 { name }:
您好!很高兴今天能在 { location } 与您会晤。希望 { date } 还能见到您。
祝您天天好心情!
同样地,在应用中,你可以用变量来代替变化的数据:
namelocationdate这样,应用就能根据不同用户或场景自动生成对应内容,而不需要每次都重新编写逻辑。
在定义变量时,需要指定变量能存储的数据类型。Kotlin 提供了丰富的基本类型:
| 类型分类 | 数据类型 | 示例值 | 说明 |
|---|---|---|---|
| 整数类型 (整型) | Byte |
127 |
8位有符号整数(范围:-128 ~ 127) |
Short |
32767 |
16位有符号整数(范围:-32768 ~ 32767) | |
Int |
2147483647 |
32位有符号整数(范围:-2³¹ ~ 2³¹-1) | |
Long |
9223372036854775807L |
64位有符号整数(需以 L 结尾) |
|
| 浮点类型 | Float |
3.14f |
32位单精度浮点数(需以 f 结尾) |
Double |
3.1415926 |
64位双精度浮点数(默认浮点类型) | |
| 字符类型 | Char |
'A' |
单个字符,使用单引号包裹 |
| 布尔类型 | Boolean |
true / false |
逻辑真值类型 |
| 字符串类型 | String |
"Hello" |
字符序列,可用 """ 创建多行字符串 |
| 数组类型 | Array |
arrayOf(1, 2, 3) |
可存储任意类型的元素 |
| 集合类型 | List |
listOf("A", "B") |
不可变列表 |
MutableList |
mutableListOf(1, 2, 3) |
可变列表 | |
Set |
setOf("A", "B") |
不可变集合(自动去重) | |
MutableSet |
mutableSetOf("A", "B") |
可变集合 | |
Map |
mapOf("key" to "value") |
不可变键值对集合 | |
MutableMap |
mutableMapOf("k" to "v") |
可变键值对集合 | |
| 空类型 | Any |
任意类型值 | Kotlin 所有类的超类 |
Unit |
Unit |
表示无返回值(相当于 Java 的 void) |
|
Nothing |
- | 表示不会返回(如抛异常的函数) | |
| 可空类型 | String?, Int? 等 |
null |
允许存储 null 值的类型 |
StringDoubleIntBooleanStringStringInt定义变量的语法如下:
val 变量名: 数据类型 = 初始值

示例:
fun main() {
val count: Int = 2
println(count)
}
输出结果:
2
提示:
val 表示不可变变量(定义后不能修改值)
var 表示可变变量(定义后可重新赋值)
如果 Kotlin 能根据初始值判断类型,则可以省略类型声明:
val count = 2 // 自动推断为 Int
若未赋初始值,必须明确指定类型:
val count: Int //但直接这样写,会报错,要用后面讲解的其他只是修复
要在字符串中插入变量值,可使用 字符串模板:
fun main() {
val count = 10
println("You have $count unread messages.")
}
输出:
You have 10 unread messages.
${} 可在字符串中放入表达式,例如:
println("Total: ${5 + 3}")
整数变量可以直接参与运算,例如加减乘除:
fun main() {
val unreadCount = 5
val readCount = 100
println("You have ${unreadCount + readCount} total messages.")
}
输出:
You have 105 total messages.
在应用程序运行时,可能需要更新变量的值。例如购物车总金额会随用户操作而变化。
val:只读变量,值不可更改。var:可变变量,值可更新。示例:
fun main() {
var cartTotal = 0 // 声明可变变量
println("Total: $cartTotal")
cartTotal = 20 // 更新变量值
println("Total: $cartTotal")
}
输出:
Total: 0
Total: 20
可以使用表达式更新变量,例如增加或减少值:
fun main() {
var count = 10
println("You have $count unread messages.")
count = count + 1 // 增加 1
println("You have $count unread messages.")
count++ // 使用增量运算符,等同于 count = count + 1
println("You have $count unread messages.")
count-- // 使用减量运算符,等同于 count = count - 1
println("You have $count unread messages.")
}
You have 10 unread messages.
You have 11 unread messages.
You have 12 unread messages.
You have 11 unread messages.
提示:只有在变量值会发生变化时使用 var,否则优先使用 val 以保证代码安全。
用于存储小数,精度比 Float 高。
示例:
fun main() {
val trip1 = 3.20
val trip2 = 4.10
val trip3 = 1.72
val totalTripLength = trip1 + trip2 + trip3
println("$totalTripLength miles left to destination")
}
输出:
9.02 miles left to destination
用于存储文本,用双引号包裹。可通过 + 进行字符串拼接。
fun main() {
val nextMeeting = "Next meeting: "
val date = "January 1"
val reminder = nextMeeting + date + " at work"
println(reminder)
}
输出:
Next meeting: January 1 at work
字符串中使用引号需要转义:
fun main() {
println("Say \"hello\"")
}
输出:
Say "hello"
只有两个可能值:true 或 false。常用于表示开关状态或条件判断。
fun main() {
val notificationsEnabled = false
println(notificationsEnabled)
println("Are notifications enabled? " + notificationsEnabled)
}
输出:
false
Are notifications enabled? false
在 Kotlin 中,建议遵循以下编码规范,这是 Google 推荐使用并且其他专业开发者也在遵循的一种 Android 代码统一编写方式:
val discount: Double = 0.20
冒号后添加一个空格。
val discount: Double = 0.20
赋值运算符 =
加号 +、减号 -、乘号 *、除号 / 前后都应有空格。
var pet = "Dog"
val sum = 1 + 2
每行代码建议不超过 100 个字符,方便阅读和维护。
编写代码时,建议使用注释说明代码用途,帮助读者理解。
使用 //,通常在符号后添加一个空格:
// 这是一个注释
height = 1 // 假设初始高度为 1
使用 /* ... */,适合超过 100 个字符的长注释:
/*
* 这是一个很长的注释
* 可以占用多行,只需要开始和结束,中间的*是为了好看写的
*/
/*
* 该程序显示用户收件箱中的消息数量
*/
fun main() {
// 创建一个变量表示未读消息数量
var count = 10
println("You have $count unread messages.")
// 将消息数量减少 1
count--
println("You have $count unread messages.")
}
???? 提示:在常见的编辑器中输入注释时,IDE 会提供自动提示和快捷键支持,帮助你快速书写注释。注释里面的*不需要手动写完,编辑器会自动生成,后面章节会详细讲解。现在主要是让大家了解注释的作用。
做得很好!您已经了解了 Kotlin 中的变量及其用途,掌握了如何创建、更新和使用变量,尝试了不同的基本数据类型(Int、Double、String、Boolean),并了解了 val 与 var 的区别。
val 用于定义只读变量,一旦赋值不可更改。var 用于定义可变变量,可以更新值。val。val count: Int = 2