0
点赞
收藏
分享

微信扫一扫

【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新特性

  1. for-in无法实现特殊场景,可以改用while


举报

相关推荐

0 条评论