LoginSignup
13
3

More than 3 years have passed since last update.

kotlinでwhen文を使ってみる

Posted at

kotlinのwhen文ってどんなもの?

Javaのswitch文と似ているものであり、if-else文としても使用することができる。
本記事にはwhenの記述方法に関して、記述していく。

when文の使い方

Javaのswitch文の場合

int value = 2;

switch (value) {
case 0:
    // valueが0の場合の処理
    break;
case 1:
    // valueが1の場合の処理
    break;
case 2:
    // valueが2の場合の処理(今回はここに入る)
    break;
default:
    // 上記のcase文に入らなかった場合の処理
}

kotlinのwhen文で書き換えてみる

val value = 2

when (value) {
    0 -> {// valueが0の場合の処理}
    1 -> {// valueが1の場合の処理}
    2 -> {// valueが2の場合の処理(今回はここに入る)}
    else -> {// 上記のcase文に入らなかった場合の処理}
}

さらにwhen文の場合には、変数を指定せずに、直接条件式を記述することもできる。
この書き方はswitch文というよりかは、ie-else文の感覚に近い。


val value = 2

when {
    value == 0 -> {// valueが0の場合の処理}
    value == 1 -> {// valueが1の場合の処理}
    value == 2 -> {// valueが2の場合の処理(今回はここに入る)}
    else -> {// 上記の条件文に入らなかった場合の処理}
}

上記のような条件式でOR/ANDを書きたい場合には、,&&を使用することをお勧めします。
ANDは特にないが、ORを表したい場合に、when文の引数あるかないかで使用できる演算子が変わってきてしまう。
どちらでも使用できるのが,なので、こちらを使用していく。

val value = 2

when {
    value != null && value == 1 -> {// valueがnullではなく、0の場合の処理}
    value == 1, value == 2 -> {// valueが1か2の場合の処理}
    else -> {// 上記の条件文に入らなかった場合の処理}
}

まとめ

kotlinで開発していく上で、when文はとても使いやすいものなので、この機会にぜひ試しに使ってみていただけたらと思います。

13
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
3