카테고리 없음

[Kotlin2-3] When

연나연 2023. 12. 28. 18:54

when은 Java에서의 switch case와 비슷하다.
수식이나 값의 결과에 따라 수행될 부분을 결정하게 되며 자바와 다르게 정수 뿐만 아니라 다양한 타입의 값을 비교할 수 있다.
when (변수 or 수식) {
             값1 -> ..코드..
             값2 -> ..코드..
}

코드를 짜봅시다!

fun main(){
    val a1 = 10

    // 변수 a1의 값에 맞는 부분이 수행된다.
    when(a1){
        //수행될 코드가 한 줄 이라면 { }로 묶지 않아도 된다
        1 -> println("a1은 1 입니다")
        5 -> println("a1은 5 입니다")
        //수행될 코드가 여러 줄 이라면 { } 로 묶어준다.
        10 -> {
            println("a1은 10 입니다")
            println("코드가 두 줄이네")
            println("코드가 세 줄이네")
        }
        else -> println("a1은 1,5,10이 아닙니다")
    }
}​


▼두 가지 이상의 조건을 만족하는 것도 설정 가능하다.

    // 두 가지 이상의 조건을 만족하는 것도 설정 가능하다.
    val a2 = 3
    when(a2){
        1,2 -> println("a2는 1이거나 2입니다")
        3,4 -> println("a2는 3이거나 4입니다")
        5,6,7 -> println("a2는 5이거나 6이거나 7입니다")
        else -> println("a2는 1,2,3,4,5,6.7 이 아닙니다")
    }

▼실수도 가능하다

    var a3 = 55.55
    when(a3){
        33.33 -> println("a3는 33.33입니다")
        55.55 -> println("a3는 55.55입니다")
        77.77 -> println("a3는 77.77입니다")
        else -> println("a3sms 33.33, 55.55, 77.77이 아닙니다")
    }