[Kotlin] Kotlin Basic (2) - 조건문, 반복문(if, when, for, while)

yuseon Lim·2021년 4월 14일
0

Kotlin

목록 보기
3/11
post-thumbnail
post-custom-banner

if

코틀린은 삼항연산자 condition ? then : else 가 없다! 그 이유는,

  • 코틀린에서 if는 statement가 아니라 expression으로 사용 가능
  • if문의 결과로 어떠한 값을 받을(return) 수 있다(!)
  • 따라서 삼항 연산자 없이도 동일한 결과를 얻을 수 있다.
// 기존 방식
var max = a
if (a < b) max = b

// else문과 함께 사용
var max: Int
if (a > b) {
    max = a
} else {
    max = b
}

// expression으로 사용
val max = if (a > b) a else b

만약 if와 else가 값을 반환하기 전에 어떤 연산을 수행하고 싶다면 {}을 이용해 반환값을 맨 아래에 넣고 그 위에 코드를 넣어주면 된다.

val max = if (a > b) {
    print("Choose a")
    a
} else {
    print("Choose b")
    b
}

when

C와 같은 언어의 switch 문과 비슷하며 기본적인 사용은 이렇다.

when (x) {
    1 -> print("x == 1")
    2 -> print("x == 2")
    else -> { // Note the block
        print("x is neither 1 nor 2")
    }
}
  • expression 으로 사용 가능하다.
    • expression 으로 사용 할 경우,
    • match된 branch가 전체 expression의 값이 된다.
fun test(arg : Any)
{
    when(arg) {
        1->"January"
        2->"Febuary"
        3->"March"
        4->"April"
        5->"May"
        6->"June"
        7->"July"
        8->"August"
        9->"September"
        10->"October"
        11->"November"
        12->"December"
        else -> {
            println("Not a month of year")
        }
    }
}
  • in, !in과 같이 사용한다.
when (x) {
    in 1..10 -> print("x is in the range")
    in validNumbers -> print("x is valid")
    !in 10..20 -> print("x is outside the range")
    else -> print("none of the above")
}

For loops

  • 코틀린의 for loop는 iterator와 같이 사용 할 수 있다. (파이썬이나 JS의 foreach와 같다.)
for (i in array.indices) {
    println(array[i])
}
  • 또는 range expression과 사용한다.
for (i in 1..3) {
    println(i)
}
for (i in 6 downTo 0 step 2) {
    println(i)
}
  • 파이썬의 enumerate()같이 인덱스도 나타낼수있다.
for ((index, value) in array.withIndex()) {
    println("the element at $index is $value")
}

While loops

  • whiledo while이 있다. 우리가 아는 그것과 크게 다른것이 없다.

참고자료

profile
🔥https://devyuseon.github.io/ 로 이사중 입니다!!!!!🔥
post-custom-banner

0개의 댓글