본문 바로가기
[Developer]/Kotlin

코틀린 기본 문법 :: 조건문 표현

by 해피빈이 2018. 4. 25.

코틀린에 관한 학습을 기록

 

조건문 처리(Conditional Expression)

 

 

1. if로 처리

 

1
2
3
// 전통적인 방법
var max = a
if (a < b) max = b
cs
1
2
3
4
5
6
// else와 함께 사용
var max: Int {
    max = a
} else {
    max = b
}
cs
1
2
// expression 처럼 사용
val max = if (a > b) a else b
cs
 
1
2
3
4
5
6
7
8
// 블록으로 expression 처리
val max = if (a >b) {
    print("Choose a")
    a
} else {
    print("Choose b")
    b
}
cs
 
 

2. when으로 처리

 

when은 C의 switch 연산자처럼 사용이 가능하다.

 

1
2
3
4
5
6
7
when (x) {
    1 -> print("x == 1")
    2 -> print("x == 2")
    else -> {
        print("x는 1도 2도 아닌경우이다")
    }
}
cs

 

 

1
2
3
4
5
// 다른 값이 같은 처리를 해야한다면
when (x) {
    0, 1 -> print("x == 0 or x == 1")
    else -> print("다른경우")
}
 
cs

 

 

1
2
3
4
5
6
7
// x가 범위에 해당하는 경우, 그리고 그 범위가 아닌 경우에 대해서도 처리가 가능하다.
when(x) {
    in 1..10 -> print("x는 범위에 있다")
    in validNumbers -> print("x는 배열 안에 포함된다")
    !in 10..20 -> print("x는 10~20범위에 해당하지 않는다")
    else -> print("x는 위의 케이스를 벗어난다")
}
cs

 

 

3. 함수의 결과값으로 바로 처리

 

만약 함수를 정의하고 그 안에서는 if문으로 분기하는 처리만 포함된다면, 함수의 내부 블록 처리 없이 처리가 가능하다.

 

1
fun max(a: Int, b: Int) = if (a > b) a else b
cs

 

 

4. 3항 연산자가 존재하지 않음

 

kotlin은 if만으로도 3항 연산자와 같은 역할의 처리가 충분히 가능하기 때문에, 별도의 3항연산자를 채택하지 않았다.

 

 

 

참고 URL: http://kotlinlang.org/docs/reference/control-flow.html#if-expression

 

 

구체적으로 컴파일하면서 체험하고 싶다면

https://try.kotlinlang.org

에서 학습이 가능하다.

 

반응형

댓글