[Kotlin] when문 (switch문)

PersesTitan·2022년 6월 26일
0

Kotlin

목록 보기
1/5

코틀린에서 switch문은 when문이라고 보시면 됩니다.

예시

val value = 1
print("값: ")
when(value) {
	1 -> println("1")
	2 -> println("2")
	3 -> println("3")
	else -> println("none")
}    

출력
값: 1

추가로 아래처럼 ..과 until를 이용해 범위를 정할 수도 있습니다.
둘의 차이는 마지막 값을 포함할려면 ..을 사용하고 포함하지 않으면 until를 사용하면 됩니다.

val value = 14
print("값: ")
when(value) {
	in 1..10 -> println("1<=value<=10")
	in 11 until 20 -> println("11<=value<20")
	else -> println("none")
}

출력
값: 11<=value<20

값 바로 넣기

코틀린에서는 다음과 같이 when에서 반환값을 넣을 수 있습니다.

val value = 2
val a = when(value) {
    1 -> {
        println("1가 들어감")
        1 //반환 타입
    }
    2 -> {
        println("2가 들어감")
        2	//반환 타입
    }
    else -> null 	//반환 타입
}
println(a)

출력
2가 들어감
2

참고로 값을 넣을때 when에는 모든 경우의 수를 적어줘야하며, {}괄호를 이용하여 여러줄을 사용할 수도 있습니다.


놀란 점

타입이 달라도 되더라고요...

val value = 1
val a = when(value) {
    1 -> "String"
    2 -> 12
    else -> null
}
println(a)

출력
String
val value = 2
val a = when(value) {
    1 -> "String"
    2 -> 12
    else -> null
}
println(a)

출력
12

이게 되네...

profile
안녕하세요 페르세스 티탄입니다! 부족한 부분이 많이 있겠지만 잘부탁드립니다.

0개의 댓글