클로스트 이야기

[Kotlin] 조건문과 반복문 본문

개발이야기/Kotlin

[Kotlin] 조건문과 반복문

클로스트 2021. 12. 19. 21:32

오늘은 Kotlin 언어의 조건문과 반복문에 대해 알아 보겠습니다.

조건문과 반복문모두 여타 다른 프로그래밍 언어와 크게 다르지 않습니다.

조건문

    var koreanAge = 17
    if(koreanAge >= 20){
        print("성인")
    }else if(koreanAge >= 17){
        print("고등학생")
    }else if (koreanAge >= 14){
        print("중학생")
    }else if (koreanAge >= 8){
        print("초등학생")
    }else{
        print("어린이")
    }
    // 고등학생

조건문은 처음 if 문에서 특정 조건을 비교하고 그게 아니라면 else if 조건문을 비교하고 그게 아니면 else if 조건문을 비교하고 해당되는게 조건이 하나도 없을 경우 else 문을 실행 하는 구조 입니다.


반복문

while, do while loop

    var y = 1
    while(y <= 10) {
        print("$y ")
        y++
    }
    // 1 2 3 4 5 6 7 8 9 10

    var z = 1
    do {
        print("$z ")
        z++
    } while(z <= 10)
    // 1 2 3 4 5 6 7 8 9 10

while과 do while은 조건문이 거짓이 되는 순간까지 실행 되는 반복문이다. do while과의 차이점은 처음부터 조건을 비교하느냐, 한번 실행후 조건을 비교 하느냐의 차이이다.

for loop

    for(i in 1..10) {
        print("$i ")
    }
    // 1 2 3 4 5 6 7 8 9 10

    for(i in 1 until 10) { // Same as - for(i in 1.until(10))
        print("$i ")
    }
    // 1 2 3 4 5 6 7 8 9

    for(i in 10 downTo 1) {     // Same as - for(i in 10.downTo(1))
        print("$i ")
    }
    // 10 9 8 7 6 5 4 3 2 1

    for(i in 1 until 10 step 2) { // Same as - for(i in 1.until(10).step(2))
        print("$i ")
    }
    // 1 3 5 7 9 
    
    // 값 기반 루프
    for (v in array) {
        println(v)
    }
    
    // 인덱스 기반 루프
    for (i in array.indices) {
        println(array[i])
    }
    
    // 인덱스, 값 기반 루프
    for ((index, value) in array.withIndex()) {
        println("the element at $index is $value")
    }

for loop 에서는 kotlin 만의 장점이 두드러 진다. array 루프를 돌릴때는 JS 처럼 for in 문을 쓸 수 있고, 값기반, 밸류기반, 둘다 활용하여 루프를 돌릴수 있다. 또 downTo 나 until, step을 활용하여 영리하게 루프문을 활용할 수 있다.

확실히 여러 언어들의 장점을 조합한 코틀린의 모습인거 같다.

'개발이야기 > Kotlin' 카테고리의 다른 글

[Kotlin] 함수와 Nullable  (0) 2021.12.22
[Kotlin] 연산자 와 When 표현식  (0) 2021.12.11
[Kotlin] 자료형 과 변수  (0) 2021.11.30
Comments