首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2.Android Compose 基础系列:在 Kotlin 中创建和使用变量

2.Android Compose 基础系列:在 Kotlin 中创建和使用变量

原创
作者头像
用户11862398
发布2025-10-06 13:04:18
发布2025-10-06 13:04:18
50
举报

在应用开发中,有些内容是固定的,例如“设置”中的菜单项;而有些内容会不断变化,比如新闻应用中的标题、来源或发布时间。为了让这些变化自动更新,而不是每次都修改代码,我们需要使用 变量(variable)

🎯 学习目标

  • 了解什么是变量,并学会定义和更新变量 undefined什么是变量
  • 掌握如何为变量选择合适的数据类型
  • 学会在代码中添加注释,提升可读性

在编程中,变量就像一个带标签的盒子,用来存放某个数据值。

  • 标签(变量名):告诉我们盒子里装的是什么
  • 盒子里的值:就是存放的数据

举个例子:

  • 盒子外写着 name(表示名字)
  • 盒子里放着 "Alex"(表示名字的值)

当你想修改名字时,只需替换盒子里的值,而不必修改整个程序。

为什么需要变量

如果在代码中直接写死所有值,程序只能应对特定情况。

使用变量就像写信时使用模板,只需替换不同内容即可应对多种情况:

代码语言:kotlin
复制
尊敬的 { name }:
您好!很高兴今天能在 { location } 与您会晤。希望 { date } 还能见到您。
祝您天天好心情!

同样地,在应用中,你可以用变量来代替变化的数据:

  • 👤 用户名:name
  • 📍 地点:location
  • ⏰ 时间:date

这样,应用就能根据不同用户或场景自动生成对应内容,而不需要每次都重新编写逻辑。

📊Kotlin 常见数据类型

在定义变量时,需要指定变量能存储的数据类型。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 值的类型

🎯 变量类型实际使用示例

地图应用

  • 📍 地点名称:String
  • ⭐ 星级评分:Double
  • 💬 评论数量:Int
  • ❤️ 是否收藏:Boolean

视频应用

  • 🎬 视频标题:String
  • 📺 频道名称:String
  • 👀 播放次数:Int🧩 定义变量

定义变量的语法如下:

代码语言:kotlin
复制
val 变量名: 数据类型 = 初始值
定义变量语法
定义变量语法

示例:

代码语言:kotlin
复制
fun main() {
    val count: Int = 2
    println(count)
}

输出结果:

代码语言:kotlin
复制
2

提示:val 表示不可变变量(定义后不能修改值)var 表示可变变量(定义后可重新赋值)

类型推断

如果 Kotlin 能根据初始值判断类型,则可以省略类型声明:

代码语言:kotlin
复制
val count = 2   // 自动推断为 Int

若未赋初始值,必须明确指定类型:

代码语言:kotlin
复制
val count: Int //但直接这样写,会报错,要用后面讲解的其他只是修复

使用变量与字符串模板

要在字符串中插入变量值,可使用 字符串模板:

代码语言:kotlin
复制
fun main() {
    val count = 10
    println("You have $count unread messages.")
}

输出:

代码语言:kotlin
复制
You have 10 unread messages.

${} 可在字符串中放入表达式,例如:

代码语言:kotlin
复制
println("Total: ${5 + 3}")

基本数学运算

整数变量可以直接参与运算,例如加减乘除:

代码语言:kotlin
复制
fun main() {
    val unreadCount = 5
    val readCount = 100
    println("You have ${unreadCount + readCount} total messages.")
}

输出:

代码语言:kotlin
复制
You have 105 total messages.

4. 更新变量

在应用程序运行时,可能需要更新变量的值。例如购物车总金额会随用户操作而变化。

val 与 var

  • val:只读变量,值不可更改。
  • var:可变变量,值可更新。

示例:

代码语言:kotlin
复制
fun main() {
    var cartTotal = 0       // 声明可变变量
    println("Total: $cartTotal")

    cartTotal = 20          // 更新变量值
    println("Total: $cartTotal")
}

输出:

代码语言:kotlin
复制
Total: 0
Total: 20

增量运算符和减量运算符

可以使用表达式更新变量,例如增加或减少值:

代码语言:kotlin
复制
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.")
}
代码语言:kotlin
复制
You have 10 unread messages.
You have 11 unread messages.
You have 12 unread messages.
You have 11 unread messages.

提示:只有在变量值会发生变化时使用 var,否则优先使用 val 以保证代码安全。

其他数据类型

Double

用于存储小数,精度比 Float 高。

示例:

代码语言:kotlin
复制
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")
}

输出:

代码语言:kotlin
复制
9.02 miles left to destination

String

用于存储文本,用双引号包裹。可通过 + 进行字符串拼接。

代码语言:kotlin
复制
fun main() {
    val nextMeeting = "Next meeting: "
    val date = "January 1"
    val reminder = nextMeeting + date + " at work"
    println(reminder)
}

输出:

代码语言:kotlin
复制
Next meeting: January 1 at work

字符串中使用引号需要转义:

代码语言:kotlin
复制
fun main() {
    println("Say \"hello\"")
}

输出:

代码语言:kotlin
复制
Say "hello"

Boolean

只有两个可能值:true 或 false。常用于表示开关状态或条件判断。

代码语言:kotlin
复制
fun main() {
    val notificationsEnabled = false
    println(notificationsEnabled)
    println("Are notifications enabled? " + notificationsEnabled)
}

输出:

代码语言:kotlin
复制
false
Are notifications enabled? false

编码规范

在 Kotlin 中,建议遵循以下编码规范,这是 Google 推荐使用并且其他专业开发者也在遵循的一种 Android 代码统一编写方式:

  1. 变量命名 val discount: Double = 0.20
    • 使用 驼峰命名法(camelCase),以小写字母开头。
  2. 类型声明空格

冒号后添加一个空格。

代码语言:kotlin
复制
val discount: Double = 0.20
  1. 运算符空格
  2. 赋值运算符 =
  • 加号 +、减号 -、乘号 *、除号 / 前后都应有空格。
代码语言:kotlin
复制
var pet = "Dog"
val sum = 1 + 2
  1. 行长度

每行代码建议不超过 100 个字符,方便阅读和维护。

在代码中添加注释

编写代码时,建议使用注释说明代码用途,帮助读者理解。

单行注释

使用 //,通常在符号后添加一个空格:

代码语言:kotlin
复制
// 这是一个注释
height = 1 // 假设初始高度为 1

多行注释

使用 / ... /,适合超过 100 个字符的长注释:

代码语言:kotlin
复制
/*
 * 这是一个很长的注释
 * 可以占用多行,只需要开始和结束,中间的*是为了好看写的
 */

示例:单行注释与多行注释结合

代码语言:kotlin
复制
/*
 * 该程序显示用户收件箱中的消息数量
 */
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),并了解了 valvar 的区别。

核心要点

  • 变量是存储单项数据的容器。
  • 必须先声明变量,才能使用。
  • val 用于定义只读变量,一旦赋值不可更改。
  • var 用于定义可变变量,可以更新值。
  • Kotlin 中建议尽可能使用 val
  • 变量声明示例:val count: Int = 2
  • 类型推断:提供初始值时可省略数据类型。
  • 常见基本类型:Int、Double、String、Boolean、Float。
  • 更新变量使用赋值运算符 =
  • 只有 var 声明的变量才能被更新。
  • 增量运算符 ++ 用于加 1,减量运算符 -- 用于减 1。
  • 可用于字符串拼接,也可将其他类型(如 Int、Boolean)拼接到字符串。

📖 引用与版权说明

  • 本文内容部分参考自 Kotlin 官方文档Android Developers 官方指南,并结合作者的实战经验进行讲解与整理。
  • 文中图片(如代码结构示意图)来源于官方图床或官方文档示例,仅用于教学与学习目的。
  • 代码示例均为原创或根据官方示例改写,遵循 Apache License 2.0 协议。
  • 若涉及版权问题或引用不当,请联系作者进行处理。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🎯 学习目标
  • 为什么需要变量
  • 📊Kotlin 常见数据类型
  • 🎯 变量类型实际使用示例
    • 地图应用
    • 视频应用
  • 类型推断
  • 使用变量与字符串模板
  • 基本数学运算
  • 4. 更新变量
    • val 与 var
  • 增量运算符和减量运算符
  • 其他数据类型
    • Double
    • String
    • Boolean
  • 编码规范
  • 在代码中添加注释
    • 单行注释
    • 多行注释
    • 示例:单行注释与多行注释结合
  • 核心要点
  • 📖 引用与版权说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档