반응형
Notice
Recent Posts
Recent Comments
Link
불로구
[코틀린 기초] 10. when 조건문 본문
반응형
When
- 함수처럼 인자가 있는 경우와 없는 경우의 따라 조건을 처리할 수 있다.
if(a > b){
println("zz")
}else{
println("ss")
}
우리가 늘 사용하던 if~else문과 비슷하다고 볼 수 있다.
사용법을 알아보자
var a:Int = 1
for(i in 0 until 5 step 1) {
when (a) {
1 -> {
println("value is 1")
}
2 -> println("value is 2")
else -> {
println("value is 3~n")
}
}
a++;
}
위 코드를 보면 a라는 Int타입 변수가 1로 초기화 되어있다.
for문을 통해 5번동안 a의 조건에 따라 값이 나오게 했다.
먼저 첫번째는 a가 1이기에 1 -> {}가 실행되고 a값이 증가한다.
두번째는 a가 2이므로 2->{}가 실행되고 a값이 3으로 증가한다.
이후에는 a가 3이되고 조건에 맞는것이 없기때문에 else ->{}를 실행한다.
Null을 허용했을 경우는 주의하자
var result:Boolean? = null
var result_Num = when(result){
true -> 10
false -> 20
else -> 50
}
result라는 Boolean 타입의 변수를 Null을 허용하게 선언했다.
그리고 result_Num이라는 변수에 result 조건에 따른 값을 대입하는 when 문을 만들었는데..
true -> {}, false -> {}만 작성한다면 null에 대한 처리가 없기때문에 에러가 발생한다.
그러므로 마지막 줄에 있는 else -> {} 또는 null -> {}을 통해 null에 대한 처리를 해줘야 한다.
when문은 다양하게 사용할 수 있다.
when(result_Num){
is Int -> println("인트타입")
else -> println("다른 타입")
}
when(result_Num){
in 10..20 -> println("10~20 사이 존재")
in 40..60 -> println("40~60 사이 존재")
else -> println("위치 모름")
}
타입을 검사할때나, 숫자의 범위를 찾아낼때도 사요할 수 있으므로 많이 연습하도록 하자.
반응형
'프로그래밍 > 코틀린' 카테고리의 다른 글
[코틀린 기초] 12. 반복문 (for, forEach) (0) | 2021.03.01 |
---|---|
[코틀린 기초] 11. 컬렉션 (List, Set, Map) (0) | 2021.03.01 |
[코틀린 기초] 9. 함수형 프로그래밍(2) (0) | 2021.02.15 |
[코틀린 기초] 8. 함수형 프로그래밍 (0) | 2021.02.14 |
[코틀린 기초]6. 자료형 (2) (0) | 2021.02.14 |
Comments