Kotlin when式の使い方

Kotlinのwhen式は、Javaのswitch文に似ていますが、より柔軟で強力です。 when式は、複雑な条件ロジックをシンプルに表現できます。便利なのでマスターしておきましょう!

※この記事は2024/03/30時点の情報です。

1.単純な使用方法
whenの後にセットした値が評価され、一致する条件が見つかると対応するブロックが実行されます。 どの条件にも一致しない場合はelse節を使用できます。

val a = 5
when (a) {
    1 -> println("aは1です")
    2 -> println("aは2です")
    else -> println("aはその他の値です")
}

処理結果は次の通りです。

aはその他の値です

2.複数の値の比較
ある変数の値が特定の複数の値のいずれかに一致する場合に使用します。 以下のサンプルの場合、1または2に一致する場合に同じ処理を行うことができます。

val b = 3
when (b) {
    1, 2 -> println("bは1または2です")
    3 -> println("bは3です")
    else -> println("bはその他の値です")
}

処理結果は次の通りです。

bは3です

3.範囲の比較
inキーワードを使用して、値が指定された範囲に含まれるかどうかをチェックできます。

val c = 7
when (c) {
    in 1..5 -> println("cは1から5の範囲です")
    in 6..10 -> println("cは6から10の範囲です")
    else -> println("cはその他の値です")
}

処理結果は次の通りです。

cは6から10の範囲です

4.型チェック
isキーワードを使用して、変数が特定の型であるかどうかをチェックできます。

val d: Any = "Hello"
when (d) {
    is Int -> println("dは整数です")
    is String -> println("dは文字列です")
    else -> println("dはその他の型です")
}

処理結果は次の通りです。

dは文字列です

5.引数の省略
whenの引数を省略し、条件を直接書くことができます。

val e = 5
when {
    e % 2 == 0 -> println("eは偶数です")
    e % 2 != 0 -> println("eは奇数です")
}

処理結果は次の通りです。

eは奇数です

when式は、条件に基づいて処理を分割させる必要がある場合や、複数の条件を同時に扱いたい場合に使用されます。 従来のif-else文やswitch-case文よりも柔軟で強力な機能となっています。

ここまでKotlinのwhen式について解説してきましたが理解できましたか?

Kotlinのwhen式を覚えられましたか?

よく分からないという人は上の例を1つずつ実行してデバッグしてみてください。 条件に基づいて処理する機会は非常に多いので、便利なwhen式を頑張って覚えておきましょう!

管理人情報