본문 바로가기
Kotlin

[코틀린] 조건문

by Sky Titan 2020. 9. 19.
728x90

if문

  • 기본적인 사용법은 기존 자바와 동일하다.
  • 코틀린만의 몇 가지 활용법이 있다.

 

1. 블록 마지막 표현식을 반환한다.

  • 마치 람다식처럼 블록의 마지막에 있는 표현식을 변수에 반환하여 할당할 수 있다.
fun main() {

    var a = 50
    var b = 60

    var c = if (a > b)
    {
        println("select a")
        a//반환
    }
    else
    {
        println("select b")
        b//반환
    }

    println(c)
    /* 결과
    select b
    60
     */
}

 

2. in 연산자, 범위 연산자 활용

  • in 연산자 : 포함 여부 확인
  • 범위 연산자 (..)
  • 변수 이름 in 시작값..마지막값 : 시작값, 마지막값을 포함하는 범위
fun main() {

    var a = 50
    var b = 60

    var c = if (b in 50..70)
    {
        println("select b")
        b//반환
    }
    else
    {
        println("select a")
        a//반환
    }

    println(c)
    /* 결과
    select b
    60
     */
}

when문

  • 다양한 조건을 한 번에 처리하기 편한 조건문
  • 자바의 switch문과 대응됨
  • switch문과 달리 break문이 필요없음
fun main() {


    var a = 50

    when(a)
    {
        in 50..60 -> println("50과 60 사이에 있습니다.")
        !in 50..60 -> println("50과 60 사이에 없습니다.")
        50, 60 -> println("50 or 60 중 하나입니다.")
        is Int -> println("Int 값입니다.")
        else -> println("그 외 나머지입니다.")
    }
    
    when
    {
       a in 50..60 -> println("50과 60 사이에 있습니다.")
       a !in 50..60 -> println("50과 60 사이에 없습니다.")
       a < 50 -> println("50보다 작습니다.")
       a is Int -> println("Int 값입니다.")
        else -> println("그 외 나머지입니다.")
    }
}

 

728x90

'Kotlin' 카테고리의 다른 글

[코틀린] Unit  (0) 2020.09.19
[코틀린] 반복문  (0) 2020.09.19
[코틀린] 지연 초기화 (lateinit, lazy)  (0) 2020.09.18
[코틀린] 프로퍼티의 접근  (0) 2020.09.18
[코틀린] 정보은닉, 캡슐화 그리고 가시성 지시자  (0) 2020.09.18

댓글