Menu
Coddy logo textTech

範囲を使ったWhen

CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 33/93。

特定の値と一致するかどうかではなく、値が範囲内にあるかどうかを確認する必要がある場合があります。when式では、範囲とinキーワードを組み合わせてこれを行えます。

fun main() {
    val score = 85
    
    val grade = when (score) {
        in 90..100 -> "A"
        in 80..89 -> "B"
        in 70..79 -> "C"
        in 60..69 -> "D"
        else -> "F"
    }
    
    println(grade)  // 出力: B
}

in キーワードは、指定された範囲内に値が存在するかどうかを確認します。ここでは、8580..89 の範囲内にあるため、成績は「B」です。各条件で score >= 80 && score <= 89 と記述するよりも、はるかにすっきりしています。

同じwhen式の中で、範囲と特定の値を組み合わせることもできます:

fun main() {
    val age = 17
    
    val category = when (age) {
        0 -> "Newborn"
        in 1..12 -> "Child"
        in 13..19 -> "Teenager"
        else -> "Adult"
    }
    
    println(category)  // 出力: Teenager
}

範囲を使うと、連続した数値条件を扱う際にコードがより読みやすくなります。これは、成績評価システムや年齢区分などのシナリオでよく見られます。

challenge icon

チャレンジ

簡単

age を受け取り、その人の年齢区分に基づいてチケット料金を返す関数 getTicketPrice を作成してください。

範囲を指定した when 式を使用して、適切なチケット料金を決定してください。

条件:

  • 年齢 030 を返す(無料)
  • 年齢 41210 を返す(子ども料金)
  • 年齢 131715 を返す(ティーン料金)
  • 年齢 186425 を返す(大人料金)
  • 年齢 65 以上:12 を返す(シニア料金)

パラメーター:

  • age(Int):その人の年齢

戻り値: 整数(Int)としてのチケット料金

自分で試してみよう

fun getTicketPrice(age: Int): Int {
    // ここにコードを書いてください
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Kotlinプレイグラウンド