자바를 아는 입장에서는 switch문과 비슷하게 작동하는 조건문이다.
차이점이 있다면 when이 더 유연하게 쓰기 좋다.
예를 들어서 switch의 case에 함수를 넣거나 범위를 지정하는게 어려운 반면
when은 if문을 충분히 대체할 수 있을 정도로 넣을 수 있는 조건이 다양하다.
when의 사용방법
when(value){
case ->
case2 -> {
}
else ->
}
사용 예 1
when(x){
in 1..6-> println("x는 1~6범위에 해당하는 숫자다")
7 ->{
println("블럭을 사용해서 여러 줄 입력도 가능")
val y = x*100
}
callmeFun() -> println("함수도 조건에 넣을 수 있음")
in thisList -> println("collection에 해당값이 있는지도 확인할 수 있음")
else -> println("else는 필수로 넣어줘야함")
}
사용 예 2
변수값 = when에서 나온 결과 값. 난 이런 표현방식이 처음이라 신기하기도 하고 신선했다.
val classLevel:Char = when(jumsu/10){
6 -> 'D'
7 -> 'C'
8 -> 'B'
9,10 -> 'A'
else -> 'F'
}
when은 어떻게 움직이는가?
- when은 한줄한줄 값을 비교하는게 아니라 해당값으로 바로 이동한다.
'개발 공부 > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 function(함수) (0) | 2019.05.21 |
---|---|
[Kotlin]코틀린 for문, for의 조건 표현식 (0) | 2019.05.20 |
[Kotlin]코틀린 배열 arrayOf(), Array (0) | 2019.05.19 |
변수 선언 및 문자열 (0) | 2018.04.25 |
함수 선언과 조건문 (0) | 2018.04.24 |