Kotlin, 조건문과 비교 연산자

Yebali·2021년 8월 10일
0

약간의_Kotlin

목록 보기
3/19

조건문

if

fun main() {
    var a = 7;
    
    if (a > 10){
        println(a.toString() + " is bigger then 10")
    } else {
        println(a.toString() + " is smaller then 10")
    }
}

java 와 같다.

비교 연산자

자료형 비교

  • is 연산자
  • !is 연산자
    ex) a is Int // a가 Int형 변수인지 확인

다중 조건문 (when)

다른 언어에서 switch에 해당하는 기능이다.

fun doWhen(a: Any) {
    when(a) {
        1        -> println("정수 1입니다")
        "yebali" -> println("yebali 입니다")
        is Int   -> println("Int타입 입니다")
        !is Int  -> println("Int 타입이 아닙니다")
        else     -> println("어떤 조건에도 속하지 않습니다")
    }
}

fun main() {
    var a = 1
    
    doWhen(a)
}

조건들을 검사하며 첫번째로 부합하는 조건에 해당하는 코드를 실행하고 when함수는 종료된다.
등호나 부등호의 사용은 불가능 하다.
참고로 Any는 어떤 자료형과도 호환이 가능한 최상위 자료형.

when을 표현식으로 사용하고 싶다면?

when에서 조건이 맞을 때 동작 대신 값을 반환하면 표현식으로 사용하고 싶다면 아래처럼 사용 할 수 있다.
위의 코드를 예시로 들면 println()이라는 동작 대신 값을 써주면 된다.

fun doWhen(a: Any) {
    var result = when(a) {
        1        -> "정수 1입니다"
        "yebali" -> "yebali 입니다"
        is Int   -> "Int타입 입니다"
        !is Int  -> "Int 타입이 아닙니다"
        else     -> "어떤 조건에도 속하지 않습니다"
    }
    
    println(result)
}

fun main() {
    var a = 1
    
    doWhen(a)
}
profile
머리에 다 안들어가서 글로 적는 중

0개의 댓글