연습장/이론

Kotlin_ 3-1. 반복문

아이른 2024. 2. 15. 15:21

- 반복문의 종류

: 범위형 반복문_ 반복 범위를 정해 반복을 수행. for

: 조건형 반복문_ 조건이 참인 경우 반복을 유지. while, do..while



fun main(){
    for(i in 0..9){
print(i)
    }
}

 

<print>

0123456789


- for()
: 기본적으로 for문은 값을 1씩 증가시키며 반복하게 됨.

- for() 에서 기본적으로 사용하는 i ?

: 인덱스(index)의 약자. 

: 인덱스는 1부터가 아닌 0부터 사용.

: 인덱스로 사용할 변수에는 var,val을 붙이지 않아도 됨.

- for() 에서 사용하는 옵션.

step : 증가값을 1이 아닌 다른 수로 하고 싶을 때 사용. downTo : 값을 감소시키고 싶을 때 사용.
fun main(){
    for(i in 0..9 step 3){
print(i)
    }
}
fun main(){
    for(i in 9 downTo 0){
print(i)
    }
}
<print>
0369
<print>
9876543210

: 감소 역시 step을 붙여 단계를 설정 가능.

: char 자료형에서도 사용 가능.


fun main(){
    var a = 0
    while (a < 5) ① ③
    print(a++) ②
}

 

<print>
01234


- while() 실행되는 순서.

: ① while문의 조건이 참인지 확인.  ② 참일 경우 while에 따르는 구문을 1회 수행(a++).  ③ while문으로 돌아가 거짓이 될 경우 반복을 중단. 다음 구문이 있을 시, 다음 구문으로 넘어감.


fun main(){
    var a = 0
    do{
        print(a++)
    } while(a < 5)
}

 

<print>

01234


- while 과 do..while 의 차이.

: while에서 조건을 체크하여 반복한다는 점은 같지만, 최초 한 번은 조건없이 do 에서 구문을 실행한 후 while로 조건을 
체크한다는 선후관계에 차이가 있음.
: 조건과 관계없이 반드시 '한 번은 실행'해야 한다면 do..while문 사용.


- 반복문에서 사용하는 코드의 흐름을 제어할 수 있는 키워드.

: break, continue

- break

: 반복문 내의 구문이 실행되는 중간에 즉시 반복문을 종료하고 다음 구문으로 넘어가는 역할.

- continue

: 다음 반복 조건으로 즉시 넘어가는 역할

fun main(){
    for (i in 1..10){
        if (i == 3) break
        print(i)
    }
}
fun main(){
    for (i in 1..10){
        if (i == 3) continue
        print(i) 
    }
}
<print>
12
//3이 되는 즉시 반복문을 종료하여 3은 포함되지 않음.
<print>
12456789
//3이 되는 시점에 print하지 않고 for문으로 돌아가 다음 반복 조건인 4로 진행.

 

- break나 continue가 적용되는 다중 반복문.

: label을 통해 지정할 수 있는 기능이 있음.

<print>
i : 1, j : 2
Q. i = 1, j = 2일 때, 모든 반복문이 종료되는 식 만들기.

① for (i in 1..10) 에서 break,  for (j in 1..10) 에서 break.
② 코드가 복잡 -> 레이블 이름+@ 사용.
loop@외부반복문 ..  break@loop.
④ 레이블 이름이 달린 반복문을 기준으로 즉시 break 실행.
fun main(){
    loop@for (i in 1..10){
        for (j in 1..10){
            if(i==1 &&j==2) break@loop
            print("i : $i, j : $j")
        } 
    }

- ${}

: "" 안에서 변수를 출력할 때는 변수명 앞에 $ 표기를 붙여주면 변수 내용으로 대체되어 출력.

: {} 는 문자 오인 방지를 위해 사용.