오늘은 반복문에 관하여 배워보았습니다.
반복문은 코드를 반복적으로 실행하고자 할 때 사용하며 반복문에는 for와 while문 두 가지가 있습니다
for는 특정 횟수만큼 코드를 반복하기 위해 사용하고 while문은 특정 조건을 만족할 때까지 코드를 반복할 때 사용합니다.
for 반복문의 일반적인 형태는
for (변수 in 시작값..종료값){
// 실행 코드
}
이런 형태로
1부터 10까지 반복하면서 그 숫자를 index에 먼저 저장하고 횟수만큼의 for 블록의 코드가 실행됩니다.
for (index in 1..10){
Log.d("For", "현재 숫자는 $index")
}
코드는 이런식으로 됩니다.

예제를 실행해본 결과로
for (index in 1..12) {
Log.d("For", "현재 숫자는${index}")*
}
일반적인 반복문과
var array = arrayOf("JAN", "FEB", "MAR", "APR", "MAY")
for (index in 0 until array.size) {
Log.d("For", "현재 월은 ${array.get(index)} 입니다")
}*
마지막 숫자를 제외하기 위해 until를 사용한 형태이고
for (index in 0..12 step 2) {
Log.d("For", "건너뛰기 : ${index}")
}
범위 내에서 2씩 건너뛰기(step 2)를 통해 "건너뛰기 1" "건너뛰기 3" 이런식으로 출력이 된 것을 확인해 볼 수 있었다.
for (index in 10 downTo 0) {
Log.d("For", "감소시키기 : ${index}")
}
증가하는 형태말고 감소하는 형태를 위해서는 down to 를 사용하여 숫자를 감소시키는 형태로 출력할 수 있다.
for (index in 10 downTo 0 step 3) {
Log.d("For", "건너뀌면서 감소시키기 : ${index}")
}
위에서 건너뛰는 것과 감소하는 것을 같이 응용하여 3씩 건너뛰면서 감소시키는 것도 해보았고
for (month in array) {
Log.d("for", "현재 월은 ${month} 입니다")
}
앞서 array배열을 통해 month를 지정해놔서 간단하게 배열 해볼 수도 있었다.
다음은 while 반복문을 알아보았는데 for 문에 비해서는 아직 많이 어려웠다...ㅠㅠ

위와 같이 예제 코드를 연습해보았고
var current = 1
val until = 12
while (current < until) {
Log.d("while", "현재값은 ${current} 입니다")
current = current + 1
}
가장 일반적인 while문과
var game = 1
val match = 6
do {
Log.d("while", "${game}게임 이겼습니다 우승까지 ${match - game}게임 남았습니다")
game += 1
} while (game < match)
do while문!
for (index in 1..10) {
Log.d("while", "break > 현재 index 는 $index 입니다")
if (index > 5) {
break
}
반복문을 탈출하기위한 break 문도 작성을 해보았다.
간단한건 확실히 for 반복문이 좋은 것 같지만 조건이 많다면 while 반복문이 더 유용할 것 같다.
하지만 do의 사용이 while과 무슨 차이가 있는지 하는 기능이 어떻게 다른지와 do ~ while 문은 어떤 역할을 하는지 등등... 아직 이해가 되지않는 것이 많아 추가 공부가 필요할 것 같다!