파게로그

[Basic] for, while, iterate through range, break, continue 본문

콤퓨타 왕기초/Kotlin

[Basic] for, while, iterate through range, break, continue

파게 2021. 6. 8. 04:10

while

while문과 do-while문은 Java와 동일하게 사용할 수 있다.

 

iterate through a range

Python의 range와 비슷한 점도 있고, 다른 점도 있다.

 

fun main(args: Array<String>) {
    for (i in 1..10) {
        println(i)
    }
}

i를 명시적으로 선언하지 않아도 동작한다.

▪ range는 닫힌 구간이다.

▪ 위 프로그램의 실행 결과는 다음과 같다.

1
2
3
4
5
6
7
8
9
10

fun main(args: Array<String>) {
    for (i in 10..1) {
        println(i)
    }
}

▪ 위 프로그램의 실행 결과는 다음과 같다(아무것도 출력되지 않는다).

 

fun main(args: Array<String>) {
    for (i in 5 downTo 1) {
        println(i)
    }
}

▪ 위 프로그램의 실행 결과는 다음과 같다.

5
4
3
2
1

fun main(args: Array<String>) {
    for (i in 5..1 step -1) {
        println(i)
    }
}

▪ step에는 양수만 올 수 있다.

▪ 위 프로그램은 에러가 발생한다.


fun main(args: Array<String>) {
    for (i in 1..5 step 2) {
        println(i)
    }
}

▪ 위 프로그램의 실행 결과는 다음과 같다.

1
3
5

fun main(args: Array<String>) {
    for (i in 5 downTo 1 step 2) {
        println(i)
    }
}

▪ 위 프로그램의 실행 결과는 다음과 같다.

5
3
1

 

iterate through an array

배열을 통해 반복문을 실행할 수도 있다.

 

fun main(args: Array<String>) {
    var items = arrayOf("microsoft", "samsung", "apple", "google")
    for (item in items) {
        println(item)
    }
}

 

fun main(args: Array<String>) {
    var items = arrayOf("microsoft", "samsung", "apple", "google")
    for (i in items.indices) {
        if (i % 2 == 0) {
            println(items[i])
        }
    }
}

 

fun main(args: Array<String>) {
    var greeting = "Hello... My name is..."
    for (char in greeting) {
        println(char)
    }
}

 

fun main(args: Array<String>) {
    var greeting = "Hello... My name is..."
    for (i in greeting.indices) {
        println(greeting[i])
    }
}

 

labeled break

기능적으로 Java의 labeled break와 동일하다.

 

fun main(args: Array<String>) {
    outer@ for (i in 1..9) {
        for (j in 1..9) {
            println("$i * $j = ${i * j}")
            if (i == 5 && j == 5) {
                break@outer
            }
        }
    }
}

 

labeled continue

기능적으로 Java의 labeled continue와 동일하다.

'콤퓨타 왕기초 > Kotlin' 카테고리의 다른 글

[Basic] Infix Function Call  (0) 2021.06.09
[Basic] functions  (0) 2021.06.08
[Basic] if, when expression  (0) 2021.06.07
[Basic] Input and Output  (0) 2021.06.07
[Basic] Expression, Statement, Block  (0) 2021.06.07
Comments