Kotlin :: 조건문 when

Android/Kotlin 2020.10.21 댓글 moonsu
728x90

whenif와 같이 조건에 따라 문장 실행 여부를 결정한다. when은 자바의 switch~case를 대체하는 문장이다.

아래 when을 사용한 예제가 있다.

fun main(args: Array<String>): Unit {
    val result = 20
    
    when (result) {
        result > 50 -> { println('A') }
        result > 40 -> { println('B') }
        result > 30 -> { println('C') }
        result > 20 -> { println('D') }
        else -> { println('E') }
    }
}

// 결과 : E

result 값에 따라 알맞은 println() 이 호출된다. 위 모든 비교값과도 일치하지 않을 때 else 문장이 실행되며, 생략할 수 있다. when 내 결과 문장이 한줄이라면 중괄호도 생략이 가능하다.

 

1. 표현식

when 도 else 를 포함하고 있다면 표현식이다. 따라서 if 와 마찬가지로 변수에 대입이 가능하다. 아래 예제는 when의 변수 대입 그리고 중괄호를 생략한 코드이다.

fun main(args: Array<String>): Unit {
    val result = 20
    
    val score: Char = when (result) {
        result > 50 -> 'A'
        result > 40 -> 'B'
        result > 30 -> 'C'
        result > 20 -> 'D'
        else -> 'E'
    }
    
    println(score)
}

// 결과 : E
728x90
반응형

댓글