- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
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".
循环可以在达到指定条件时执行一段代码块。循环非常方便,因为它们节省时间,减少错误,并使代码更易读.
while
循环while 循环通过条件为 true 时循环执行一段代码块:
while (condition) {
// 要执行的代码块
}
在下面的示例中,只要计数器变量 i 小于 5,循环中的代码将一遍又一遍地运行:
var i = 0
while (i < 5) {
println(i)
i++
}
注意:不要忘记增加条件中使用的变量,否则循环将永远不会结束.
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 循环的详细介绍。这些功能使得编写和理解条件和循环更加简单和直观.
Break
and Continue
Break
break语句用于跳出循环.
在以下示例中,当 i 等于 4 时跳出循环:
var i = 0
while (i < 10) {
println(i)
i++
if (i == 4) {
break
}
}
Continue
continue语句用于在循环中的某一次迭代中跳过特定条件的代码,并继续执行下一次迭代.
在以下示例中,跳过值为 4 的情况:
var i = 0
while (i < 10) {
if (i == 4) {
i++
continue
}
println(i)
i++
}
数组用于在单个变量中存储多个值,而不是为每个值创建单独的变量.
要创建一个数组,请使用 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,关注后即可获取最新文章推送 。
看完如果觉得有帮助,欢迎 点赞、收藏、关注 。
最后此篇关于Kotlin控制流和数组操作详解的文章就讲到这里了,如果你想了解更多关于Kotlin控制流和数组操作详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在查看Kotlin Github page我注意到 Kotlin 语言本身大部分是用 Kotlin 编写的:我只是想知道,一种语言怎么可能大部分都是用它自己的语言编写的?在您可以使用正在创建的语言
我有以下非常简单的 kotlin 代码来演示中缀函数 com.lopushen.demo.presentation 包 fun main(args: Array) { print("Hello
我在 Java 中有 2 个模型类,其中一个扩展了另一个 @UseStag public class GenericMessages extends NavigationLocalizationMap
Kotlin 代码 runBlocking { flow { for (i in 0..4) { println("Emit $i")
这三个 Kotlin 插件和它们的实际作用有什么区别? plugins { id 'kotlin-android' id 'org.jetbrains.kotlin.android'
我正在为某些现有库添加 Kotlin 原生 linuxX64 目标支持。库已成功编译,但在运行测试用例时,出现以下运行时错误: kotlin.native.concurrent.InvalidMuta
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 2 年前。 Improve t
我创建了一个类并向其添加了一个与成员函数具有相同签名的扩展,并执行了这个方法,它总是执行成员方法。 class Worker { fun work() = "...working" } fun
我知道传递给函数的参数将被视为“val”,即使变量被初始化为“var”。但这对我来说一直是个问题。在下面的示例代码中,我想通过使用函数“changeNum”修改变量“num”的值。但当然,Kotlin
现在,我正在尝试用 Kotlin 重写我的 Java 应用程序。然后,我遇到了日志语句,比如 log.info("do the print thing for {}", arg); 所以我有两种方法可
有点出名article关于许多语言的异步编程模型的状态,指出它们存在“颜色”问题,特别是将生态系统分为两个独立的世界:异步和非异步。以下是这种语言的属性: 每个函数都有一种颜色,红色或蓝色(例如asy
因为 KDoc 文档生成引擎是 abandoned in favor of Dokka , Kotlin 文档应该称为“KDoc 注释”,还是“Dokka 注释”? 最佳答案 如所述here , KD
我想在可空对象上传递函数引用。以 Android 为例,假设我想使用 Activity#onBackPressed来自作为该事件的子级的片段。 如果我想调用这个函数,我可以很容易地做到 activit
我有一个列表 (x, y)其中y只能是 0 或 1 这样 例如: [(3, 0), (3, 1), (5, 1)] [(5, 0), (3, 1), (5, 1)] [(1, 1), (3, 1),
从强类型语言的定义来看: A strongly-typed programming language is one in which each type of data (such as intege
这不能编译的事实是否意味着它们不是一流的类型? fun foo(s: String): Int = s.length // This won't compile. val bar = foo 有没有办
如果在 Java i++是一个表达式和 i++;是一个表达式语句,分号(;) 在 Kotlin 中是可选的,是 i++ Kotlin 中的表达式或表达式语句? 最佳答案 i++是一个表达式,因为它有一
代码(如下所示)是否正确?它取自 Kotlin-docs.pdf 的第 63 页,这也是 https://kotlinlang.org/docs/reference/generics.html 的最后
我正在尝试使用 Kotlin 为 Android 的一些全局 API 解析器(检查网络连接、调用 API 并通过来自源的单个调用返回格式化数据),并且在某些时候我不得不创建一个通用类型 object就
kotlinlang 中的任务: 使用月份变量重写此模式,使其与格式 13 JUN 1992(两位数字、一个空格、一个月份缩写、一个空格、四位数字)中的日期相匹配。 答案是:val month = "
我是一名优秀的程序员,十分优秀!