您的位置:首页 > 移动开发 > Android开发

Kotlin简明学习—流程控制

2017-07-06 16:30 483 查看
每个语言应该说都是有流程控制的,流程控制是实现逻辑的关键。在Java中我们熟悉都流程控制有if else,switch,for循环。在Kotlin中对应的是if else,when,for循环。Kotlin的流程控制跟Java的有所不同,可以把if else流程控制看做是表达式,对变量可以进行赋值操作。

if else

1.跟Java中的if else完全一样,就是分支选择

val age = 15

if  (age <= 12)  {
println("Child")
} else if (age >= 13 && age <= 17)  {
println("Teenager")
} else {
println("Adult")
}


输出

Teenager


2.不同于Java,可以赋值

val age = 20
val personType = if  (age <= 12)  {
"Child"
} else if (age >= 13 && age <= 17)  {
"Teenager"
} else {
"Adult"
}

println(personType)


输出

Teenager


when

1.when相当于Java中swich

val num = 77

when (num) {
in 1..10 -> println("Number is in the range")
!in 10..20 -> println("Number is outside the range")
else -> println("None of the above")
}


输出:

Number is outside the range


2.赋值用法

val x = "Batman"

// If "when" is used as an expression then it MUST be exhaustive.
val hasPrefix = when (x) {
is String -> x.startsWith("Bat")
else -> false
}
hasPrefix


for循环

val days = listOf("Mon", "Tue", "Wed", "Thur", "Fri", "Sat", "Sun")
for (d in days)  { println(d) }
for (x in 1..10) { println(x) }


val nzPop = mapOf("AUCK" to 1500000, "WLG" to 405000, "CHCH" to 500000, "GIS" to 36100)
for ((key, value) in nzPop) {
println("$key -> $value")
}


while和do while

var x = 1
while (x <= 10) {
println(x)
++x
}

var x = 12
do {
println(x)
++x
} while (x <= 10)


参考文献

https://medium.com/@napperley/kotlin-tutorial-6-control-flow-340cbffc18b5

Kotlin简明学习—文章列表

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息