본문 바로가기

개발 공부

kotlin의 반복문

package com.example.kotlinstudy_basic

fun main() {
    forExample()
    whileExample()
}

fun forExample() {
    val students = arrayListOf("a", "b", "c", "d")

    //for (변수 in array)형식
    for (name in students) {
        println("학생의 이름은 \"${name}\"입니다")
    }

    //for (변수 in 정수..정수) 형식
    var sum = 0
    for (i in 1..10) {
        sum += i
    }
    println("1부터 10까지 전부 더한 값은 ${sum}입니다.")

    //for (변수 in 정수..정수 step 정수) 형식
    var sumStep2 = 0
    for (i in 1..10 step 2) {
        sumStep2 += i
    }
    println("1부터 10까지 2칸씩 띄워서 더한 값은 ${sumStep2}입니다.")

    //for (변수 in 정수 downTo 정수) 형식
    var sumDownTo2 = 0
    for (i in 10 downTo 1) {
        sumDownTo2 += i
    }
    println("10부터 1까지 2칸씩 내려가며 더한 값은 ${sumDownTo2}입니다.")

    //for (변수 in 정수 until 정수) 형식
    var sumUntil = 0
    for (i in 1 until 100) {
        sumUntil += i
    }
    println("1부터 100바로 직전 99까지 더한 값은 ${sumUntil}입니다. ")

    //for ((변수1, 변수2) in array.withIndex()) 형식
    //변수1은 Int 타입, 변수2는 array의 타입을 따라간다.
    for ((index, name) in students.withIndex()) {
//for ((index: Int, name: String) in students.withIndex()){ <- 자동타입추론
        println("${index+1}번째 학생은 ${name}입니다.")
    }

    //java의 향상된 for문은 index를 얻기위해 변수를 for문 밖에 생성해야 하기 때문에
    //생성된 index의 값이 {}가 종료되기 전까지 남아있다는 단점이 있고 그렇기 때문에 단순 index가 필요한
    //for문에서는 단순 for문을 사용해 왔는데 kotlin에서 이런 단점을 보안한점이 인상깊다.
}

fun whileExample() {
    //while (조건문)
    var index = 0
    while (index < 10) {
        println("현재 index의 값은 ${index}입니다.")
        index++
    }
}

'개발 공부' 카테고리의 다른 글

kotlin class - method  (0) 2025.11.04
kotlin null  (0) 2025.11.04
kotlin의 array 와 list  (0) 2025.10.22
Kotlin의 조건문  (0) 2025.10.18
Kotlin의 StringTemplate  (0) 2025.10.18