조건문은 자바와 유사한 형태와 표현식으로 두 가지 형태가 존재한다.
첫 번째로는 아래와 같다.
var max: Int
if(a > b){
max = a
} else {
max = b
}
두 번째로는 아래와 같다.
//As expression
val max = if(a>b) {
print("choose a")
a
} else {
print("choose b")
b
}
val max = 으로 시작했기 때문에 조건문의 괄호 속에는 값만 적어주면 max = a or max = b로 할당하는게 가능하다.
자바에서 switch case문을 사용했다면 코틀린에선 when문을 사용한다.
아래와 같이 범위를 지정해주고, is를 통해서 타입이 해당하는 타입인지 확인하는 방법도 있다.
when(x) {
1 -> print("x == 1")
2 -> print("x == 2")
else -> {
print("x is neither 1 or 2")
}
}
when(x){
0, 1 -> print("x == 0 or 1")
else -> print("otherwise")
}
when(x) {
in 1..10 -> print("x는 1과 10 사이의 숫자임")
!in 10..20 -> print("x는 10과 20 사이의 숫자가 아님")
else -> print("otherwise")
}
when(x) {
is Int -> print("x는 Int형임")
else -> print("x는 Int형이 아님")
}