kotlin 「when」で範囲を指定して条件を指定する
kotlinで、「when」で範囲を指定して条件を指定する手順を記述してます。「when」の中で「in」を使うことで可能です。
環境
- OS windows11 home
- java 19.0.1
- kotlin 1.7.20-release-201
手順
kotlinで「when」を使用して、範囲を指定して条件を指定するには「in」を使用します。
when(引数) {
in 値..値 -> 処理
in 値..値 -> 処理
else -> 処理
}
実際に、使用してみます。
fun main() {
var n = 2
when (n) {
in 1..3 -> { println("nの値は1~3") } // nの値は1~3
in 4..5 -> { println("nの値は4~5") }
else -> { println("nの値は1~5以外") }
}
}
判定されていることが確認できます。
優先順位
範囲が同じ場合は、先に記述されている条件が優先されます。
fun main() {
var n = 2
when (n) {
in 1..3 -> { println("nの値は1~3") } // nの値は1~3
in 2..5 -> { println("nの値は4~5") }
else -> { println("nの値は1~5以外") }
}
}
範囲を逆
範囲を逆にしてしまうと、結果がおかしくなるので注意が必要です。
fun main() {
var n = 2
when (n) {
in 3..1 -> { println("nの値は1~3") }
in 5..4 -> { println("nの値は4~5") }
else -> { println("nの値は1~5以外") } // nの値は1~5以外
}
}
逆にする場合は、「downTo」を使用します。
fun main() {
var n = 2
when (n) {
in 3 downTo 1 -> { println("nの値は1~3") } // nの値は1~3
in 5 downTo 4 -> { println("nの値は4~5") }
else -> { println("nの値は1~5以外") }
}
}
変数を使用
以下のように、変数を使用することも可能です。
fun main() {
var n = 2
var start = 1
var end = 3
when (n) {
in start..end -> { println("nの値は1~3") } // nの値は1~3
in 4..5 -> { println("nの値は4~5") }
else -> { println("nの値は1~5以外") }
}
}
-
前の記事
Google ドライブ 詳細を開くショートカットキー 2023.12.12
-
次の記事
java 少数以下の切り捨てを行う 2023.12.12
コメントを書く