kotlin에는 if, when 두가지 조건 제어문이 있습니다.
if 조건문
//1.전통적인 사용법
var max = a
if (a < b)
max = b
// 2.if .. else
var max: Int
if (a > b)
max = a
else
max = b
kotlin에서는 if문으로 3항연산자를 표현할 수 있습니다.
val max = if (a > b) a else b
오른쪽 조건문의 값이 왼쪽 변수에 대입될 수 있습니다. 만약 if문에 {}블록이 있다면 마지막 항목이 해당 블록의 리턴값이 됩니다.
val max = if (a > b) {
print("Choose a")
a
}
else {
print("Choose b")
b
}
a가 1 b가 2라고 한다면 max = 2가 됩니다.
when
when은 기존의 switch문을 대신합니다.
when (x) {
1 -> print("x == 1") //x가 1일 때
2 -> print("x == 2") //x가 2일 때
else -> { // 나머지 경우
print("x is neither 1 nor 2")
}}
변수가 다르지만 같은 결과를 출력 때는 ','로 구분하여 사용할 수 있습니다.
when (x) {
0, 1 -> print("x == 0 or x == 1")
else -> print("otherwise")}
또 in 을 range나 컬렉션과 함께 사용할 수 있습니다.
when (x) {
in 1..10 -> print("x is in the range")
in validNumbers -> print("x is valid")
!in 10..20 -> print("x is outside the range")
else -> print("none of the above")}
타입 체크시에는 'is'를 사용합니다.
val hasPrefix = when(x) {
is String -> x.startsWith("prefix")
else -> false}
댓글 없음:
댓글 쓰기