▶코드 일부분을 원하는 만큼 반복 시키고자 할 때 사용한다. ▶for, while, do~while 문을 제공한다.
for문
▶배열과 같이 값들을 관리하는 요소들을 이용해 코드를 반복하는 반목문 ▶관리하는 값의 개수 만큼 반복한다.
// 데이터를 관리하는 요소를 가지고 반복하고자 할 때 // 반복 횟수가 결정되어 있을 때 // 반복에 대한 최소 최대 범위가 결정되어 있다.
for (변수 in 배열) { //코드// }
.. until ..< .. step downTo downTo step
// 숫자1..숫자2 : 숫자1 부터 숫자2 까지 1씩 증가되는 값을 관리하는 요소를 만들어준다.
println((1..10).toList())
// 숫자1 until 숫자2 또는 숫자1 .. <숫자2 : 숫자1 부터 숫자2 - 1 까지 1씩 증가되는 값을 관리하는 요소를 만들어준다.
println((1 until 10).toList())
// step : step 을 지정하면 증가폭을 설정할 수 있다.
println((1..10 step 2).toList())
// downTo : 1씩 감소되는 값을 관리할 수 있는 요소를 만들 수 있다.
println((10 downTo 1).toList())
// downTo 도 step을 설정하면 감소 폭을 설정할 수 있다.
println((10 downTo 1 step 2).toList())
▶ for : 데이터를 관리하는 요소를 통해 반복한다 ▶ 반복 횟수가 결정되어 있을 때는 반복 횟수만큼의 데이터를 가진 요소를 통해 반복한다 ▶ 최소와 최대 범위가 결정되어 있다면 결정되어 있는 최소와 최대 범위의 값을 가진 요소를 만들어 반복한다.
// 1..10 코드로 인해 1 부터 10까지 값 10개를 관리하는 요소가 생성된다.
// 이를 통해 for문을 사용하기 때문에 for 문이 관리하는 코드가 총 10번 반복된다.
// 이 때, 반복 번째에 해당하는 값이 in 좌측에 있는 변수에 담겨진다.
for(v1 in 1..10){
println("v1 $v1")
}
while문
▶ 주어진 조건이 만족할 경우 반복되는 반복문 ▶ 조건식이 상단에 있으므로 조건식이 거짓이면 단 한번도 수행되지 않는다.
var a1 = 0
while (a1 < 10){
println("a1 : $a1")
a1++
}
do while문
▶ 주어진 조건이 만족할 경우 반복되는 반복문 ▶ 조건식이 하단에 있으므로 조건식이 거짓이라도 단 한번은 수행된다.
var a2 = 0
do{
println("do while - $a2")
a2++
}while(a2 < 10)
while과 do while의 차이
▶while문은 조건식이 상단에 있고 do while은 하단에 있다. ▶이 때문에 조건식이 처음부터 거짓이라면 while문은 한번도 수행되지 않고do whlile은 한번은 수행된다. -> while 문 ▶조건식에 들어가는 변수의 값이 사전에 결정되어 있다면 -> while 문 ▶조건식에 들어가는 변수의 값을 반복문 안에서 결정하고 있다면 -> do while 문