본문 바로가기

Language/Kotlin

[Kotlin] 조건문과 비교연산자

728x90
반응형

비교연산자

< <= > >= != ==

is 연산자 (자료형이 맞는지 체크)  ex. a is Int

!is 연산자 (자료형이 틀린지를 체크)  ex. a !is Int

if문

var a = 11

if(a > 10) {
    println("a는 10보다 크다")
} else {
    println("a는 10보다 작거나 같다")
}

// 출력: a는 10보다 크다

When문 (다중 조건문)

다른 언어에서 지원하는 switch문을 좀 더 편리하게 바꾼 기능

fun main(){
    doWhen(1)  // 정수 1입니다
    doWhen("DiMo")  // 디모의 코틀린 강좌입니다
    doWhen(12L)  // Long 타입입니다
    doWhen(3.14159)  // String 타입이 아닙니다
    doWhen("Kotlin")  // 어떤 조건도 만족하지 않습니다

}

fun doWhen(a: Any){
    when(a){
        // a와 비교할 조건값들 나열
        1 -> println("정수 1입니다")
        "DiMo" -> println("디모의 코틀린 강좌입니다")
        is Long -> println("Long 타입입니다")
        !is String -> println("String 타입이 아닙니다")
        else -> println("어떤 조건도 만족하지 않습니다")
    }
}
  • 어떤 조건값에도 맞지 않는 경우 else 실행
  • 등호나 부등호 사용은 불가능
  • 여러 개의 조건이 맞을 경우에 먼저 부합되는 조건 실행
  • Any 자료형: 어떤 자료형이든 상관없이 호환되는 코틀린의 최상위 자료형

When의 조건이 맞을 때 동작 대신 값을 반환하는 표현식으로의 역할을 하게 하려면 동작 대신 을 쓰면 된다!

fun main(){
    doWhen(1)  // 정수 1입니다
    doWhen("DiMo")  // 디모의 코틀린 강좌입니다
    doWhen(12L)  // Long 타입입니다
    doWhen(3.14159)  // String 타입이 아닙니다
    doWhen("Kotlin")  // 어떤 조건도 만족하지 않습니다

}

fun doWhen(a: Any){
    var result = when(a){
        1 -> "정수 1입니다"
        "DiMo" -> "디모의 코틀린 강좌입니다"
        is Long -> "Long 타입입니다"
        !is String -> "String 타입이 아닙니다"
        else -> "어떤 조건도 만족하지 않습니다"
    }

    println(result)
}
728x90
반응형

'Language > Kotlin' 카테고리의 다른 글

[Kotlin] 흐름제어와 논리연산자  (0) 2023.09.04
[Kotlin] 반복문과 증감연산자  (0) 2023.09.02
[Kotlin] 타입추론과 함수  (0) 2023.08.31
[Kotlin] 형변환과 배열  (0) 2023.08.31
[Kotlin] 변수와 자료형  (0) 2023.08.31