728x90
본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다.
조건문
1. if~else
Kotlin의 조건부 논리를 구현하기 위한 가장 일반적인 메커니즘 if~else.
if() 괄호 안에 식이 true 일 때 {} (중괄호) 내 코드가 실행된다. 그렇지 않은 경우 else 내 코드가 실행된다.
if (count == 42) {
println("count 는 42다.")
} else {
println("count 는 42가 아니다.")
}
경우의 수가 3가지 이상일 때 else if 를 사용하여 여러 조건을 나타낼 수 있다.
if (count == 42) {
println("count 는 42이다.")
} else if (count > 35) {
println("count 는 42가 아니면서 35보다는 크다.")
} else {
println("count 는 35보다 크지 않다.")
}
if~else문은 굉장히 유용하지만 위와 같은 문장이 여러 곳에 반복해 사용된다면 코드가 복잡하고 지저분해 질 수 있다. 이러한 일을 피하기 위해 Kotlin은 아래와 같은 조건식을 제공한다.
val answerString: String = if (count == 42) {
"count 는 42이다."
} else if (count > 35) {
"count 는 42가 아니면서 35보다는 크다."
} else {
"count 는 35보다 크지 않다."
}
// answerString 변수에는 if~else문의 결과값이 저장되어 있다.
println(answerString)
결과값이 반환되어질 때 return 키워드를 사용하는 것이 일반적이지만 각 조건의 결과값을 암시적으로 반환하여 return 키워드를 사용할 필요가 없다.
위 코드는 복잡하고 가독성이 떨어진다. 이처럼 조건문의 복잡도가 증가하면 if~else문을 when문으로 교체할 수도 있다.
val answerString = when {
count == 42 -> "count 는 42이다."
count > 35 -> "count 는 42가 아니면서 35보다는 크다."
else -> "count 는 35보다 크지 않다."
}
println(answerString)
when문의 조건의 결과는 화살표(->)로 표시된다. 화살표의 왼쪽 조건이 참(true)이라면 오른쪽의 결과가 반환되는 것이다. when문은 if~else문과 완전히 동일하지만 더 쉽게 읽을 수 있다.
728x90
반응형
'Android > Kotlin' 카테고리의 다른 글
Kotlin :: 프로그래밍 언어 배우기 (람다함수, 익명함수) (0) | 2020.10.06 |
---|---|
Kotlin :: 프로그래밍 언어 배우기 (기본함수) (0) | 2020.10.05 |
Kotlin :: 프로그래밍 언어 배우기 (변수 선언) (0) | 2020.09.30 |
안드로이드 스튜디오 :: Kotlin :: Activity(화면) 값 전달받기 (0) | 2020.06.25 |
안드로이드 스튜디오 :: Kotlin :: Activity(화면)간 값 전달하기 (0) | 2020.06.22 |
댓글