今回は条件分岐の書き方です。
if式
Kotlinのifは文ではなく式です。
if (条件) 式 [else 式]
が基本で、条件分岐させる処理が一つの式では収まらない場合は、処理を{}で囲むことも可能です。
if (条件) {
処理
} else ...
という具合に書きます。
式ですので、ifは値を返します。
なので、
なので、
return if(x > y) x - y else y - x
のように、内包する式の結果を返す事ができます。
{}で囲んだ処理が実行される場合は、その処理の最後の文の結果が返されます。
{}で囲んだ処理が実行される場合は、その処理の最後の文の結果が返されます。
when式
JavaやC#でswich文として表現される多条件分岐はKotlinではwhen式となります。
書き方は以下の感じ。
when(式) {
式 -> 式
[else -> 式]
}
式だらけですが・・・・。
when(x) {
0 -> print("x == 0")
1 -> print("x == 1")
else -> print("else")
}
のように値が一致するかをチェックしたり、
when(x) {
0, 1 -> print("0 or 1")
2 -> print(" == 2")
}
複数の値をカンマ区切りで指定することも、
print(when(x) {
in 0..5 -> "small"
in 6..10 -> "large"
})
値を範囲で指定したり、
print(when(obj) {
is Int -> "$obj"
is String -> obj
else -> obj.javaClass.getName()
})
型を比較したりと一致でしか分岐しないswitch文にくらべて様々な比較が行えます。
また、
when {
x <= 5 -> print("x <= 5")
x > 5 -> print("x > 5")
}
のように、if-else if-else文の代わりにすることもできます。
0 件のコメント:
コメントを投稿