【Kotlin】Kotlin笔记2-程序的逻辑控制(if,when,循环语句)
Kotlin笔记-程序的逻辑控制
2. 程序的逻辑控制
- if条件语句
if
Example:
fun largerNumber3(num1: Int, num2: Int): Int {
var value = 0
if (num1 > num2) {
value = num1
} else
value = num2
return value
}
语法糖
fun largerNumber4(num1: Int, num2: Int): Int {
val value = if (num1 > num2) {
num1
} else {
num2
}
return value
}
fun largerNumber5(num1: Int, num2: Int): Int {
return if (num1 > num2)
num1
else
num2
}
fun largerNumber6(num1: Int, num2: Int) = if (num1 > num2) {
num1
} else {
num2
}
fun largerNumber7(num1: Int, num2: Int) = if (num1 > num2) num1 else num2
- when条件语句
when
Example if:
fun getScore(name: String) = if (name == "Tom") 86
else if (name == "Jim") 77
else if (name == "Jack") 95
else if (name == "Lily") 100
else 0
Example when:
fun getScore1(name: String) = when (name) {
"Tom" -> 86
"Jim" -> 77
"Jack" -> 95
"Lily" -> 100
else -> 0
}
when允许传入任意类型参数,格式:
匹配值 -> { 执行逻辑 }
类型匹配
fun checkNumber(num: Number) {
when (num) {
is Int -> println("number is Int")
is Double -> println("number is Double")
else -> println("number not support")
}
}
is = instanseof(Java)
不传参when
fun getScore2(name: String)=when{
name=="Tom"->86
name=="Jim"->77
name=="Jack"->95
name=="Lily"->100
else->0
}
特殊场景 example:
name.startsWith("Tom")->86
name=="Jim"->77
name=="Jack"->95
name=="Lily"->100
else->0
}
- 循环语句
while
for ->for-in
闭区间
va range = 0..10 //[0,10]
fun circulation(){
for (i in 1..10){
println(i)
}
}
左闭右开
until
val range 0 until 10
步长
step
fun circulation1(){
//val range=0 until 10
for (i in 0 until 10 step 2){
println(i)
}
}
downTo
fun circulation2(){
for (i in 10 downTo 0){
println(i)
}
}
q(≧▽≦q):Kotlin新特性
- for-in无法实现特殊场景,可以改用while
还没有评论,来说两句吧...