Kotlin when文(式)のサンプル(switch文)

Kotlinのwhen文(switch文)のサンプルです。条件で処理を分岐する時に使用します。

目次 when文(式)とは
  when文のサンプル
  複数の値で比較する
  when式 (whenの結果を変数にセットする)
  when文の中でif文を使用する

when文(式)とは

[変数 = ] when(条件){
  値 -> 処理
  値 -> 処理
  else -> 処理
}
  • 条件の値と値が一致すれば、->の右にある処理が実行されます。
  • elseは、条件の値がどの値にも一致しない時に実行されます。
  • kotlinのwhenは、値を返すことができるのでwhen式ともいえます。
  • 値を返さないwhen文としても使用できます。

when文のサンプル

fun main() {

    val a = "2"

    when (a) {
        "1" -> println("1つめ")
        "2" -> println("2つめ") // 2つめが出力される
        else -> println("3つめ")
    }
}

3行目は、変数aに値をセットしています。
5行目からwhen文が始まります。
7行目の"2"は変数aの値と一致するのでその処理が実行されます。

 

複数の値で比較する

fun main() {

    val a = 5

    when (a) {
        1,2 -> println("A")
        3,4,5 -> println("B") // Bが出力される
        else -> println("C")
    }

    when (a) {
        in 1..3 -> println("D")
        in 4..9 -> println("E") // Eが出力される
        else -> println("F")
    }
}

6,7行目は、複数の値を指定しています。
12,13行目は、inを使用して範囲を指定しています。

 

when式 (whenの結果を変数にセットする)

fun main() {

    val a = "2"

    val test1 = when (a) {
        "1" -> "1つめ"
        "2" -> "2つめ"
        else -> "3つめ"
    }
    println(test1)  // 2つめが出力される
}

5行目は、whenの判定の結果を変数にセットしています。
10行目は、変数の値を表示しています。

 

when文の中でif文を使用する

fun main() {

    val a = 3

    when (a) {
        3 -> if (a % 2 == 0) {
            println("偶数")
        } else {
            println("奇数") // 奇数が出力される
        }
        else -> println("その他")
    }
}

6行目はwhen文の中でif文を使用しています。
%は、割り算の余りを求めます。

関連の記事

Kotlin if文(式)のサンプル
Kotlin for文 処理を繰り返す(break/continue)
Kotlin while文とdo…while文のサンプル

△上に戻る