Kotlin 教程之【流程控制】

参考文档:点击这里

Java 中的流程控制主要有 ifwhile/do..whilefor/foreachswitch,而 kotlin 流程控制语法与Java的有着较大的不同。

  • if 既可以是表达式也可以是语句
val max = if (a > b) a else b

当作为表达式使用的时候 else 是必须的。

  • do..while 中声明的变量或常量在 while 条件表达式中可见
do {
  val y = false
  ...
} while (y) // y 在此处可见
  • 在 kotlin 中将 for/foreach 整合为 for..in..
val array = ["java","kotlin","groovy"]

# 隐式示使用索引遍历,不能获取到索引
for (a in array) {
    print(a)
}

# 显示使用索引遍历,可以获取到索引
for (i in array.indices) {
    print(array[i])
}

# 显示使用索引遍历,可以获取到索引
for ((index, value) in array.withIndex()) {
    println("the element at $index is $value")
}

在上面的例子中我们遍历的是数组,默认使用索引遍历;如果是集合类,默认会使用迭代器遍历。

  • 在 kotlin 中移除 switch 使用 when 代替
fun hasPrefix(x: Any) = when(x) {
    is String -> x.startsWith("prefix")
    else -> false
}

when 语句相比于 switch ,首先是可以有返回值;其次是较为简洁的语法。

你可能感兴趣的:(Kotlin 教程之【流程控制】)