Kotlin 控制流和数组操作详解

小万哥
• 阅读 462

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 语句。

工作原理如下:

  1. when 变量(day)进行一次评估。
  2. day 变量的值与每个“分支”的值进行比较。
  3. 每个分支以一个值开始,后跟一个箭头(->)和一个结果。
  4. 如果匹配,则执行相关联的代码块。
  5. 使用 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 表达式以及 whiledo..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 中 breakcontinue 以及基本数组操作的详细介绍。这些功能使得控制循环流程和管理多个数据项变得更加灵活和高效。

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

点赞
收藏
评论区
推荐文章
Karen110 Karen110
3年前
一篇文章带你了解JavaScript While 循环
循环可以执行一个代码块,只要指定条件为真,循环就可以执行代码块。一、While循环while只要指定条件的值为真,循环就会执行指定语句。while循环的语法while(condition)statement//只要条件为真,就执行代码例:项目JavaScriptwhile语句只要n小于5,就遍历一段代码:varn0;while(n<
Wesley13 Wesley13
3年前
Java循环结构
Java循环结构for,while和do...while顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,就需要使用循环结构。while循环do...while循环for循环在Java5中引入了一种主要用于数组的增强
Wesley13 Wesley13
3年前
Java05
Java05Java基础语法(四)循环结构循环结构(重复/迭代):根据条件重复执行部分语句1、while循环结构while(条件表达式){     循环体语句;}1)语法:a、while是关键字        b、“条件表达式”必须用括号括起来        c、“{}”表示循环的控制范围,若没有“{}”,whil
小万哥 小万哥
10个月前
深入理解 Java 循环结构:while、do while、for 和 for-each 循环
Java循环循环可以执行一个代码块,只要达到指定的条件。循环很方便,因为它们节省时间,减少错误,并使代码更易读。JavaWhile循环while循环会循环执行一个代码块,只要指定的条件为真:语法javawhile(condition)//要执行的代码块在下
小万哥 小万哥
10个月前
Java break、continue 详解与数组深入解析:单维数组和多维数组详细教程
JavaBreak和ContinueJavaBreak:break语句用于跳出循环或switch语句。在循环中使用break语句可以立即终止循环,并继续执行循环后面的代码。在switch语句中使用break语句可以跳出当前case,并继续执行下一个case
小万哥 小万哥
4个月前
Kotlin 布尔值教程:深入理解与应用示例
Kotlin中的布尔值是一种数据类型,仅能存储true或false两种状态,适用于表示二选一的情况,如开关或真假判断。布尔类型可通过Boolean关键字声明,并直接赋值为true或false。此外,Kotlin支持使用比较运算符创建布尔表达式,用于条件判断。条件语句包括if、else和elseif,允许根据不同条件执行特定代码块。特别地,在Kotlin中,if..else结构不仅能作为语句使用,还能作为表达式,即可以在条件判断的同时返回一个值。这种灵活性使得Kotlin在处理条件逻辑时更为简洁高效。
小万哥 小万哥
4个月前
Kotlin 循环与函数详解:高效编程指南
Kotlin中的循环结构让你能轻松遍历数组或范围内的元素。使用for循环结合in操作符,可以简洁地访问数组中的每个项,如字符串数组或整数数组。对于范围,可以用..来定义一系列连续的值并进行迭代。此外,Kotlin支持通过break和continue控制循环流程。函数则允许封装可复用的代码块,你可以定义接受参数并返回值的函数,利用简写语法使代码更加紧凑。例如,myFunction(x:Int,y:Int)xy简洁地定义了一个计算两数之和的函数。
小万哥 小万哥
12个月前
C 语言中的 switch 语句和 while 循环详解
C语言中的switch语句替代多重if..else语句,可以使用switch语句。switch语句用于选择多个代码块中的一个来执行cswitch(表达式)casex://代码块break;casey://代码块break;default://代码块工作原理
小万哥 小万哥
11个月前
深入解析 C 语言中的 for 循环、break 和 continue
C语言中的for循环当您确切地知道要循环执行代码块的次数时,可以使用for循环而不是while循环cfor(语句1;语句2;语句3)//要执行的代码块语句1在执行代码块之前执行(一次)。语句2定义执行代码块的条件。语句3在执行代码块后执行(每次)。下面的示