티스토리 뷰

Kotlin

코틀린 제어문 Control Flows

IT Knowledge Share 2021. 7. 5. 00:22
반응형

코틀린에서 사용하는 여러 제어문을 알아봅니다.

 

제어문은 흐름을 제어하고 싶을 때 사용할 수 있습니다.

 

1. if 문 

    val a: Int = 5
    val b: Int = 10

    if (a > b) {
        println("a가 b보다 크다")
    }

if 문은 괄호 안에 조건이 오고, 조건을 만족하면 조건절의 내용을 실행하게 됩니다.

코틀린은 다른 언어와 다르게, 조건절의 내용이 단순한 경우, 중괄호 {........} 를 생략할 수 있습니다.

 

* if 문에 오는 조건 자체의 결과값은 boolean (True/False) 타입만 해당합니다.

 

반응형

2. if ~ else 문

    val a: Int = 5
    val b: Int = 10

    if (a > b) {
        println("a가 b보다 크다")
    } else {
        println("a가 b보다 작다")
    }

 if ~ else 문의 경우, if 절의 조건을 만족하지 않으면, else 절로 넘어오는 방식입니다.

 

3. else ~ if 문

    val a: Int = 5
    val b: Int = 10
    println("1번")

    if (a > b) {
        println("a가 b보다 작다")
    } else if (a < b) {
        println("a가 b보다 크다")
    } else {
        println("a와 b는 같다")
    }

else ~ if 문은 else 절에도 조건을 넣고 싶을 때 사용합니다. else if ( 조건 ) 를 추가하여 흐름을 더욱 세분화시켜 제어하실 수 있습니다.

 

4. if 문을 변수에 담기

    val max = if (a > b) {
        a //5
    } else {
        b //10
    }

    val max1 = if (a > b) a else b //축약 가능

    println(max)
    println(max1)

if 문 자체를 max라는 변수에 담은 경우입니다. 이렇듯, 필요에 따라 if 문을 변수에 담을 수 있습니다. 위에서 언급했듯이 코틀린에서는 절의 내용이 간단한 경우 중괄호를 없애서 축약할 수 있습니다.

 

* if 문을 변수에 담기 위해서는, if 문 자체가 어떤 '값'을 리턴해야만 합니다. if문 자체가 값을 리턴할 수 없는 경우, 변수에도 담을 수 없습니다. 모든 경우의 수에 대응하기 위해서는 else 블럭을 명시하는 등 값을 리턴할 수 있도록 합니다. 

반응형
댓글