if - else

  • Java 와 다르게 Kotlin 에서는 if, else 도 표현식이다. 따라서 if else 는 항상 반환값이 있다.

  • { } 블럭으로 있을 경우에는 마지막 줄의 값을 반환한다.

  • if, else 를 표현식으로 사용할 경우에는 if 가 있으면 항상 else 도 있어야 한다.

  • if, else를 표현식으로 사용할 수 있게 되므로서 java 의 삼항연산자를 대체할 수 있다. (코틀린에는 삼항연산자가 없다.)

//Java
//기존의 if else문의 사용방식.
int a = 5;
int b = 10;

int maxValue = a;

if (a > b) {
    maxValue = a;
} else {
    maxValue = b;
}
//Kotlin
val a = 5
val b = 10

var max: Int

if (a > b) {
    max = a
} else {
    max = b
}

//표현식으로서의 사용
val max = if (a > b) a else b

//각각 마지막줄의 a 와 b 를 반환한다.
val max = if (a > b) {
    print("Choose a")
    a
} else {
    print("Choose b")
    b
}

Last updated