Kotlin 控制流和数组操作详解
Kotlin when
与编写许多 if..else
表达式相比,您可以使用 when
表达式,它更易读。
它用于选择要执行的多个代码块中的一个:
示例
使用星期几的编号来计算星期几的名称:
val day = 4 val result = when (day) { 1 -> "Monday" 2 -> "Tuesday" 3 -> "Wednesday" 4 -> "Thursday" 5 -> "Friday" 6 -> "Saturday" 7 -> "Sunday" else -> "Invalid day." } println(result) // 输出 "Thursday" (day为4)
when
表达式类似于 Java 中的 switch
语句。
工作原理如下:
- 对
when
变量(day
)进行一次评估。 - 将
day
变量的值与每个“分支”的值进行比较。 - 每个分支以一个值开始,后跟一个箭头(
->
)和一个结果。 - 如果匹配,则执行相关联的代码块。
- 使用
else
指定如果没有匹配要运行的代码。
在上面的示例中,day
的值为 4
,因此将打印 "Thursday"
。
Kotlin While 循环
循环可以在达到指定条件时执行一段代码块。循环非常方便,因为它们节省时间,减少错误,并使代码更易读。
Kotlin while
循环
while
循环通过条件为 true
时循环执行一段代码块:
语法
while (condition) { // 要执行的代码块 }
在下面的示例中,只要计数器变量 i
小于 5
,循环中的代码将一遍又一遍地运行:
示例
var i = 0 while (i < 5) { println(i) i++ }
注意:不要忘记增加条件中使用的变量,否则循环将永远不会结束。
Kotlin do..while
循环
do..while
循环是 while
循环的变体。这个循环会在检查条件是否为 true
之前执行一次代码块,然后只要条件为 true
,它就会重复执行循环。
语法
do { // 要执行的代码块 } while (condition);
下面的示例使用了 do/while
循环。即使条件为 false
,该循环也会至少执行一次,因为在测试条件之前会执行代码块:
示例
var i = 0 do { println(i) i++ } while (i < 5)
以上是关于 Kotlin 中 when
表达式以及 while
和 do..while
循环的详细介绍。这些功能使得编写和理解条件和循环更加简单和直观。
Kotlin Break
and Continue
Kotlin Break
break
语句用于跳出循环。
在以下示例中,当 i
等于 4
时跳出循环:
var i = 0 while (i < 10) { println(i) i++ if (i == 4) { break } }
Kotlin Continue
continue
语句用于在循环中的某一次迭代中跳过特定条件的代码,并继续执行下一次迭代。
在以下示例中,跳过值为 4
的情况:
var i = 0 while (i < 10) { if (i == 4) { i++ continue } println(i) i++ }
Kotlin Arrays
Kotlin 数组
数组用于在单个变量中存储多个值,而不是为每个值创建单独的变量。
要创建一个数组,请使用 arrayOf()
函数,并在其中放置逗号分隔的值列表:
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda")
访问数组元素
您可以通过引用索引号(在方括号内)来访问数组元素。
在这个例子中,我们访问 cars
数组中第一个元素的值:
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda") println(cars[0]) // 输出 Volvo
注意:数组索引从 0
开始:[0]
是第一个元素,[1]
是第二个元素,依此类推。
修改数组元素
要更改特定元素的值,请引用索引号:
cars[0] = "Opel"
例如:
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda") cars[0] = "Opel" println(cars[0]) // 现在输出 Opel 而不是 Volvo
数组长度 / 大小
要查找数组中有多少个元素,请使用 size
属性:
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda") println(cars.size) // 输出 4
检查元素是否存在
您可以使用 in
运算符来检查数组中是否存在元素:
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda") if ("Volvo" in cars) { println("存在!") } else { println("不存在。") }
遍历数组
通常在处理数组时,您需要遍历所有元素。
您可以使用 for
循环遍历数组元素,关于这一点,您将在下一章学习更多。
以下示例输出 cars
数组中的所有元素:
val cars = arrayOf("Volvo", "BMW", "Ford", "Mazda") for (x in cars) { println(x) }
以上是关于 Kotlin 中 break
、continue
以及基本数组操作的详细介绍。这些功能使得控制循环流程和管理多个数据项变得更加灵活和高效。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding
,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎 点赞、收藏、关注
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 本地部署 DeepSeek:小白也能轻松搞定!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 从 Windows Forms 到微服务的经验教训
· 李飞飞的50美金比肩DeepSeek把CEO忽悠瘸了,倒霉的却是程序员
· 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方Dee
2023-08-07 Go 语言注释教程