Kotlin/Kotlin 입문

[Kotlin] 4. 조건문

JoonYong 2024. 10. 9. 16:03

1. 조건문

조건문이 왜 필요할까?

우리는 일상 속 여러 상황들 속에서 많은 결정을 내립니다. 프로그램 또한 마찬가지입니다. 여러
상황에 맞게 실행되어야하는 코드가 다를 수 있습니다. 조건문이 없는 프로그램은 여러 상황에
대응할 수 없습니다.

fun main() {
    println("AAA")
    println("BBB")
    println("CCC")
}

조건문

특정 조건에 따라 서로 다른 동작을 실행하기 위해 사용합니다.

코틀린(Kotlin)에서는 if, else if, else, 그리고 when 을 제공하고 있습니다.

2. if, else if, else 구조

  • 기본 if문
fun main() {
    val dust: Int = 30
    if (dust <= 35) {
        println("밖에 놀러 나간다")
    }
    if (dust > 35) {
        println("집에서 논다")
    }
}
  • if와 else 사용
fun main() {
    val dust: Int = 30
    if (dust <= 35) {
        println("밖에 놀러 나간다")
    } else {
        println("집에서 논다")
    }
}
  • 다중 조건 (else if)
fun main() {
    val dust: Int = 17
    if (dust <= 15) {
        println("좋음")
    } else if (dust <= 35) {
        println("보통")
    } else if (dust <= 75) {
        println("나쁨")
    } else {
        println("매우 나쁨")
    }
}

3. when 구조

when 문은 조건이 많을 때 가독성을 향상시키는 데 유용합니다.

fun main() {
    val number: Int = 20
    when (number) {
        in 1..10 -> {
            println("number는 1 ~ 10 사이입니다")
        }
        20 -> {
            println("number는 20입니다")
        }
        else -> {
            println("number에 예상치 못한 값이 입력되었습니다")
        }
    }
}
  • if , else if , else 는 범위 조건일 때에 사용하기 적절하고 when 은 값이 제한되고 특정 될
    경우에 쓰기 적절합니다.

4. 조건문을 통한 변수 할당

조건에 따라 변수에 값 할당도 가능합니다:

fun main() {
    val dust: Int = 30
    var result: String = ""

    if (dust <= 35) {
        result = "놀 수 있다"
    } else {
        result = "집에서 논다"
    }
    println("result=$result")
}

if 문을 통해 변수 할당

fun main() {
    // 조건문에 의한 변수 할당
    val dust: Int = 30
    val result: String = if (dust <= 35) {
        "놀 수 있다"
    } else {
        "집에서 논다"
    }
    println("result=$result")
}

when 문을 통해 변수 할당

fun main() {
    // 조건문에 의한 변수 할당
    val dust: Int = 30
    val result: String = when (dust) {
        in 0 .. 35 -> "놀 수 있다"
        else -> "집에서 논다"
    }
    println("result=$result")
}