1.if條件語(yǔ)句
kotlin的if條件語(yǔ)句和Java中的幾乎沒有區(qū)別
通常的用法:
fun maxNumber(num1: Int, num2: Int) : Int{
if (num1 > num2) {
return num1
} else{
return num2
}
}
簡(jiǎn)便寫法:
fun maxNumber(num1: Int, num2: Int) = if (num1 > num2) num1 else num2
2.when條件語(yǔ)句
kotlin中的條件語(yǔ)句和Java中的switch有點(diǎn)類似力喷,但是遠(yuǎn)遠(yuǎn)比switch用法強(qiáng)大的多
通常用法:
fun initWhen(number : Int) {
when(number) {
1-> Log.d(TAG, "星期1")
2-> Log.d(TAG, "星期2")
7-> Log.d(TAG,"星期日")
}
}
擴(kuò)展用法1:
其中when括號(hào)里面的標(biāo)量不僅僅局限于整型
fun initWhen(number: String) {
when (number) {
"1" -> Log.d(TAG, "星期1")
"2" -> Log.d(TAG, "星期2")
"7" -> Log.d(TAG, "星期日")
}
}
擴(kuò)展用法2:
和單行代碼的語(yǔ)法糖結(jié)合使用
fun initWhen(number: String) = when (number) {
"1" -> Log.d(TAG, "星期1")
"2" -> Log.d(TAG, "星期2")
"7" -> Log.d(TAG, "星期日")
else -> Log.d(TAG, "未知")
}
擴(kuò)展用法3:
kotlin中的is相當(dāng)于Java的instanceof關(guān)鍵字
fun initWhen(number: Number) = when (number) {
is Int -> Log.d(TAG, "星期1")
is Float -> Log.d(TAG, "星期2")
is Double -> Log.d(TAG, "星期日")
else -> Log.d(TAG, "未知")
}
總結(jié)when條件語(yǔ)句的用法就是
匹配值 -> { 執(zhí)行的邏輯 }