DAY11 Kotlin基础 条件语句

国小造句最常见的题目就是:如果...就...,如果被打就会痛。对於程序语言也是有这样的语法给你作使用的,且就跟平常我们说的方式差不多,叫一个国小生来写程序都没问题。

并没有。


if else

条件语句最常见的就是 if-else,写起来也算是满直觉的:

if (count == 42) {
    println("宾果答对了!是42!")
} else {
    println("不是喔不是喔")
}

也可以使用 if-else 去增加条件内容:

if(count == 42){
    println("宾果答对了!答案是42!")
}else if(count < 40){
    println("答案很接近了喔~")
}else{
	  println("不对喔不对喔")
}

也可以将昨天的 x in 1...5 应用进来,就可以很直觉的去判断变数是在哪个范围中:

if(count == 42){
    println("宾果答对了!答案是42!")
}else if(count in 1 ..41){    //1~41
    println("再大一点")
}else if(count in 43..100){   //43~100
    println("再小一点")
}else{
	  println("范围是 1~100 喔")
}

看完上面的程序後你可能会发现,有很多重复的程序,每个条件式的结果都是输出一个String字串,你可以改写成以下这样:

val answerString : String = if(count == 42){
    "宾果答对了!答案是42!"
}else if(count in 1 ..41){
    "再大一点"
}else if(count in 43 ..100){
    "再小一点"
}else{
    "范围是 1~100 喔"
}
println(answerString)

每个条件分支的结果都是回传字串,所以我们宣告一个 answerString 去跑 if-else 的判断式,由判断式去赋予 answerString 的值。其实一开始宣告的时候是可以不用写类别注记的,但是为了清楚的解读程序码,加上去还是比较好。

When

随着条件式越来越复杂,你也可以考虑用 when 去代替 if-else :

val answerString = when { 
    count == 42 -> "宾果答对了!答案是42!"
    count in 1..41 -> "再大一点"
    count in 43..100 -> "再小一点"
    else -> "范围是 1~100 喔"
}

println(answerString)

when表达式是由一个分支条件、一个箭头和一个结果组成。如果箭头左侧条件为 true, 则会 return 右侧的表达式结果。跟 if-else 比起来是不是更清楚明了一点了呢。

条件式的介绍就先到这边!

下一篇见写写打家打家摆掰。


<<:  Day11 Android - AlertDialog视窗

>>:  Day-15 线性时间演算法 : Bucket sort

Azure AutoML02及结语

AutoML得到的结果,说明如下。见图<AZ-exp4MNIST.png> 当看到 [S...

[番外] 来个音乐拨放器 Play! (序)

前言 参考 Tyler Potts 的 Demo 影片- Build a Music app usi...

#20-有看到我的猫吗?用offsetPath让猫猫滚起来!(SVG)

偶尔会看到,往下滚,球就会跟着滚动的幅度以抛物线移动。 今天就来使用SVG的Path做做看! 其实是...

Normals & Lighting

大家好,我是西瓜,你现在看到的是 2021 iThome 铁人赛『如何在网页中绘制 3D 场景?从 ...

AI ninja project [day 19] 音讯辨识

是这样的,我曾经在新闻上看到说罗东的农夫有种植的西瓜被偷, 我在想除了监视器以外,还有没有甚麽方法可...