반응형
코틀린 if문
종류
- if-expression (if식) : 리턴값을 사용, 반드시 else가 있어야함!
- if-statement (if문) : 리턴값을 쓰지 않고 실행할 문장 선택용
코틀린 when문
- 여러 조건에 대한 분기 처리
종류
- (when-expression, when-statement)은 if문과 종류 동일
// when-expression
print(
when(d) {
1 -> "one"
2 -> "two"
else -> "greater than two"
}
)
// when-statement
when(d) {
1 -> print("one")
2 -> print("two")
else -> print("greater than two")
}
표현
- 어떤 값을 기준으로 분기 처리 when(d) { ...d값에 따라 분기... }
- 그 외 when { ...각 조건별 분기... }
// 어떤 값을 기준으로 분기 처리
when(d) {
1 -> "one"
2 -> "two"
else -> "greater than two"
}
// 그 외
when {
a ==1 && d == 1 -> print("a and b are one")
d == 2 -> print("greater than or equal to two")
else -> print("greater than two")
}
내가 눈여겨 본 부분
- if나 when을 expression(식)으로 사용할 수 없지만 특정 변수값을 지정하는 경우 => var변수의 적절한 초기값을 설정해주어야 한다!
ex1)
var checkTestYN = ""
if(특정 조건) {
checkTest = "Y"
}
else {
checkTest = "N"
}
이렇게 쓰지 말라고 위에 사항 언급 ex2)
var checkTestYN = "N"
if(특정 조건) { checkTest = "Y" }
ㄴ> 간결하지만 조건에 따른 분기처리가 명시적으로 들어나지 않음
- if나 when을 expression(식)으로 사용되는 경우 => 리턴값으로 val 변수 값을 설정한다. if/when-expression이 val을 장려하기 위함이라고 함 (불변값을 함수형에서 자주 사용되므로 함수형 접근 방법의 용이성을 위해)
ex3)
val testYN = if(특정조건) "Y" else "N"
반응형