본문 바로가기

개발/Kotlin

조건부

728x90
반응형

가장 일반적인 것은 if-else 문이다.

 

if (count == 42) {
    println
("I have the answer.")
} else {
    println
("The answer eludes me.")
}

 

일반적인 if문과 다르지 않다.

 

 

else if를 사용하여 여러 '조건'을 나타낼 수 있다.

단일 조건문 내에서 더욱 상세하고 복잡한 논리를 표현할 수 있다.

 

if (count == 42) {
    println
("I have the answer.")
} else if (count > 35) {
    println
("The answer is close.")
} else {
    println
("The answer eludes me.")
}

 

 

조건문을 변수화하여 사용성을 높일 수 있다.

 

val answerString: String = if (count == 42) {
   
"I have the answer."
} else if (count > 35) {
   
"The answer is close."
} else {
   
"The answer eludes me."
}

println
(answerString)

 

answerString에 명시적 유형 선언을 생략할 수 있지만 명확히 하기 위해 유형 선언을 포함하는 것이 좋다.

 

 

 

조건문의 복잡도가 증가하면 if-else 표현식을 when 표현식으로 교체할 수 있다.

when 표현식의 각 분기는 조건, 화살표(->) 및 결과로 표시된다.

 

val answerString = when {
    count
== 42 -> "I have the answer."
    count
> 35 -> "The answer is close."
   
else -> "The answer eludes me."
}

println
(answerString)

 

 

 

val languageName: String? = null
if (languageName != null) {
   
// No need to write languageName?.toUpperCase()
    println
(languageName.toUpperCase())
}

 

조건부 분기 내에서 languageName은 nullable이 아닌 것으로 간주될 수 있다.

Kotlin에서는 분기 실행 조건에 따라 languageName은 null 값을 보유할 수 없으므로 분기 내에서 languageName을 nullable로 처리할 필요가 없다.

이 스마트 변환은 null 검사, 유형 검사 또는 컨트랙트를 충족하는 모든 조건에 적용된다.

728x90
반응형

'개발 > Kotlin' 카테고리의 다른 글

변수 선언  (0) 2021.10.19