Home Kotlin 기본 문법 (반복문)
Post
Cancel

Kotlin 기본 문법 (반복문)

반복문

반복문이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문을 말한다

대표적으로 코틀린에서 많이 쓰이는 반복문은 while문,do-while문,for문이 존재한다

while문

코드

1
2
3
4
5
6
7
fun main() {
    var a = 10
    while (a>0){
        println(a)
        a-=1
    }
}

출력

1
2
3
4
5
6
7
8
9
10
10
9
8
7
6
5
4
3
2
1

while문에 구조를 뜯어보면 while 옆에 괄호에 조건식을 적고 중괄호에 실행시킬 코드가 있는 간단한 형태로 되어있다

조건식이 참이라면 계속해서 while문을 돌아 코드를 실행시키는 구조를 가져있기 때문에 제어 변수 등으로 종료시켜주어야만 한다

do while문

do while문은 while문과 비슷한데

코드

1
2
3
4
5
6
7
8
9
fun main(){
    
    var x=10
    do {
        println(x)
        x-=1
    }while (x>11)
        
}

출력

1
10

do while문에 구조를 뜯어보면 do 옆에 중괄호안에 실행할 명령들을 적고 밑에 while에 조건식을 적는 형태를 가지고 있다

일단 조건식이 참이던 거짓이든 do안에 있는 코드를 실행한다는 점만 제외하면 while문과 같다고 보면 된다

1
2
3
4
5
var x=10
    do {
        println(x)
        x-=1
    }while (x>11)

위에 코드를 보면 초기 x 값이 10인데 조건식이 x가 11보다 크다이니 while문이었다면 실행이 안 됐겠지만 do while문이기에 일단 실행하여 x 값을 출력하고 종료된다

for문

코드

1
2
3
4
5
6
7
8
9
10
11
12
fun main(){
    for(num in 1..10) {
            print("$num ")
        }

    print("\n")

    for(i in 1 until 10) { 
        print("$i ")
    }    
}

출력

1
2
1 2 3 4 5 6 7 8 9 10 
1 2 3 4 5 6 7 8 9        

위와 같은 형태들로 for문을 만들 수 있으며 꺼꾸로 출력할 때는

코드

1
2
3
4
5
6
7
8
9
10
11
fun main(){
        for(i in 10 downTo 1) {     
        print("$i ")
    }

    print("\n")

    for(i in 1 until 10 step 2) { 
        print("$i ")
    }
}

출력

1
2
10 9 8 7 6 5 4 3 2 1 
1 3 5 7 9 

위와 같이 역순으로도 가능하며 step으로 얼만큼 증가 혹은 감소할 지도 정할 수 있다

반복문에서 사용하는 제어문

반복문에서 사용하는 자주 사용하는 제어문 중에는 continue와 break가 있다

각 역할을 살펴보면 break는 반복문을 종료시켜 반목문을 탈출하는 역할을 하고 continue는 반복문을 빠져나가지 않고 패스시켜주는 역할은 한다

코드

1
2
3
4
5
6
7
8
fun main(){
    for (i in 1..20){
        if(i/2==5){
            break
        }
        println(i)
    }
}

출력

1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9

위 코드는 i가 10이 되자 i/2==5 조건이 일치하여 break문이 실행되어 10전까지 출력하다가 반복문이 종료된 코드이다

코드

1
2
3
4
5
6
7
8
fun main(){
        for (i in 1..20){
        if(i/2==5){
            continue
        }
        println(i)
    }
}

출력

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2
3
4
5
6
7
8
9
12
13
14
15
16
17
18
19
20

위 코드는 i/2==5 조건이 일치하여 continue문 실행되어 10을 건너 뛰어 출력된 코드이다

This post is licensed under CC BY 4.0 by the author.