Menu
CoddyTech

When 표현식

Coddy Kotlin 여정의 기초 섹션에 포함된 레슨. 93개 중 32번째.

확인해야 할 구체적인 값이 여러 개라면 긴 else if 문 체인은 읽기 어려워질 수 있습니다. Kotlin은 하나의 값을 여러 가능성과 대조할 때 더 깔끔한 대안으로 when 표현식을 제공합니다.

fun main() {
    val day = 3
    
    val dayName = when (day) {
        1 -> "Monday"
        2 -> "Tuesday"
        3 -> "Wednesday"
        4 -> "Thursday"
        5 -> "Friday"
        else -> "Weekend"
    }
    
    println(dayName)  // 출력: Wednesday
}

when 표현식은 값을 받아 각 분기와 비교합니다. 일치하는 항목이 발견되면 해당 결과가 반환됩니다. else 분기는 나열된 사례와 일치하지 않는 모든 값을 처리합니다.

쉼표로 구분하여 하나의 분기에서 여러 값을 일치시킬 수도 있습니다:

fun main() {
    val day = 6
    
    val type = when (day) {
        1, 2, 3, 4, 5 -> "Weekday"
        6, 7 -> "Weekend"
        else -> "Invalid"
    }
    
    println(type)  // 출력: Weekend
}

값을 생성하는 when은 완전해야 합니다. 가능한 모든 입력에 결과가 있어야 합니다. 이러한 정수 예제에는 else가 필요하지만, true와 false 분기를 모두 포함하는 불리언 when에는 필요하지 않습니다.

challenge icon

챌린지

쉬움

다음 변수가 주어집니다:

val month = 4

when 표현식을 사용하여 월 숫자를 기준으로 계절을 결정하고, 그 결과를 season이라는 변수에 저장하세요.

조건:

  • 월 12, 1, 2는 "Winter"를 반환해야 합니다.
  • 월 3, 4, 5는 "Spring"을 반환해야 합니다.
  • 월 6, 7, 8은 "Summer"를 반환해야 합니다.
  • 월 9, 10, 11은 "Fall"을 반환해야 합니다.
  • 그 외의 값은 "Invalid month"를 반환해야 합니다.

동일한 계절에 해당하는 월을 그룹화하려면 when 분기에서 쉼표로 구분된 값을 사용하세요.

season의 값을 출력하세요.

직접 해보기

fun main() {
    val month = 4
    
    // TODO: 아래에 코드를 작성하세요
    // when 표현식을 사용하여 월을 기준으로 계절을 결정하세요
    // 결과를 'season'이라는 변수에 저장하세요
    
    
    // 결과를 출력하세요
    println(season)
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Kotlin 플레이그라운드