2015-09-03

Kotlinことはじめ:(3)分岐

今回は条件分岐の書き方です。

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 件のコメント: