왕초보 안드로이드 앱 개발 도전기

4. Kotlin 조건문

joy2learn 2024. 6. 19. 10:20

Kotlin 에서 조건문 문법은 다음과 같습니다.

 

1. if 조건문

1.1 statement(문) 형태

    if (condition1) {

    body1

    } else if (condition2) {

    body2

    } else if (condition3) {

    body3

    } else {

    body4

    }

 

1.2 expression(식) 형태

    val name =

        if (condition1) expression1

        else if (condition2) expression2

        else expresssion3

 

if 조건문은 길고 복잡하게 보이기 때문에 조건문이 여러 개인 경우 when 을 사용하는 것이 권장됩니다.

 

 

2. when 조건문

2.1 statement(문) 형태

    when(parameter) {

        condition1 -> body1

        condition2 -> body2

        else -> body3

    }

 

parameter가 x 일때 조건문(condition)으로 들어올 수 있는 예는 다음과 같습니다. 

when(x) {

    2, 3, 5, 7 -> body1  // 특정 값을 지정

    in 1..10 -> body2  // 특정 범위를 지정

    is Int -> body3  // data type 을 확인   

 

2.2 expression(식) 형태

    val name = when(parameter) {

        condition1 -> expression1

        condition2 -> expression1

        expresssion3

    }

 

3. 응용

when 과 if 를 함께 사용하여 티켓가격을 구하는 함수의 예시입니다. 기본적으로 when 을 사용하면서 if를 추가조건으로 사용하고 있습니다. 

fun ticketPrice(age: Int, isMonday: Boolean): Int {
    return when(age) {
        in 0..12 -> 15
        in 13..60 -> if (isMonday) 25 else 30
        in 61..100 -> 20
        else -> -1
    }
}

 

 

tip1. 조건문에서 a = b 로 써서 에러가 발생하는 경우가 종종 있었습니다. a  == b 로 써야 합니다.

 

tip2. boolean 변수의 경우 조건문에 바로 사용할 수 있는데, false 를 조건으로 가져가려면 앞에 ! 를 붙여줍니다. 예를 들어 위의 응용에서 if(isMonday) 25 else 30if(!isMonday) 30 else 25 로 바꾸어도 동일한 의미를 가지게 됩니다.