반복문 for
: 특정 범위만큼 실행문을 반복!
- for 다음에 오는 괄호()에 반복할 범위를 지정하여 사용할 수 있다.
- for(변수 in 시작값..종료값) { 실행문 }
for(i in 1..10){
println(i)
}
- 시작값과 종료값 사이의 .. 대신에 until을 사용하면 종료값 이전까지만 반복한다.
→ index는 0부터 시작하기 때문에 배열의 index를 사용하여 처리하는 코드에서 사용하기 편리
var listOfMonth = listOf("JAN", "FEB", "MAR", "APR", "MAY", "JUN")
for(index in 0 until listOfMonth.size){
print(" ${listOfMonth.get(index)}")
}
Step : 건너뛰기
- 만약 for문에서 실행문을 3의 배수 간격으로 실행시키고 싶다면 for안에 if문을 넣어 조건을 걸어줘야한다. :비효율적
- 하지만 step을 사용한다면 for문의 블록을 step수만큼 건너 뛰어 실행한다.
for( i in 0..10){
if(i%3 == 0 ){
println("현재 숫자는 ${i} 입니다")
}
}
for(i in 0..10 step 3){
println("현재 숫자는 ${i} 입니다")
}
downTo : 감소시키기
- downTo를 사용하면 큰 수에서 작은 수로 감소하면서 실행할 수 있다. 이 때도 똑같이 step사용이 가능하다.
for(index in 10 downTo 0){
println("현재 숫자는 ${index} 입니다.")
}
배열, 컬렉션에 들어 있는 엘리먼트 반복하기
- 배열이나 컬렉션을 엘리먼트의 개수만큼 반복하여 사용할 수 있다.
val LIST_OF_DAY = listOf("월", "화", "수", "목","금", "토", "일")
for(day in LIST_OF_DAY){
println("오늘은 ${day}요일 입니다.")
}
· LIST_OF_DAY에 담겨져 있는 엘리먼트들을 day 변수에 담은 후에 println으로 출력하였다.
반복문 while
: 특정 조건이 만족할 때까지 실행문을 반복! ( while의 조건식 결과가 항상 true이면 무한루프에 빠지게 되니 주의하자 )
var current = 1
var final =10
while(current < final) {
println("current는 ${current}이고 final보다 작습니다.")
current += 1
}
do~while
- do와 함께 사용하면 while의 조건식과 관계없이 do 블록 안의 코드를 한 번 실행시킨다.
<do while>
fun doWhileTest() {
var game = 6
var match = 6
do {
print("do~while 테스트")
game += 1
} while (game < match)
}
<while>
fun whileTest() {
var game = 6
var match = 6
while (game<match){
print("while 테스트")
game += 1
}
}
■ 결과의 차이 : while은 print가 한번도 출력이 안되고 do while은 한번 출력이 된다.
· 여기서 사용한 대입연산자란? (+=, -=, *=, /=)
ex) 변수 += 1 //좌측의 변수와 1을 더한 결과값을 좌측의 변수에 대입한다!!
break : 반복문 제어하기
- break를 사용하여 반복문을 탈출할 수 있게 해준다.
fun whileBreak() {
var game = 1
var match = 10
while (game<match){
if (game>5){
break
}
println("while 테스트${game}")
game += 1
}
}
fun forBreak() {
for(i in 1..10){
println("${i}번째 행입니다")
if(i>4){
break
}
}
}
continue : 다음 반복문으로
- 반복문 내에서 continue를 만나면 continue 다음 코드는 실행하지 않고 반복문의 처음으로 돌아간다.
fun continueTest() {
for(i in 1..10){
if( i>3 && i<7 ){
println("skip")
continue
}
println("${i}번째 항입니다.")
}
}

>> i가 3보다 크고 7보다 작으면 println("skip)만 실행하고 for문의 처음으로 돌아간다.
'차근차근 코틀린' 카테고리의 다른 글
| 차근차근 코틀린(7) - 설계 (0) | 2020.09.08 |
|---|---|
| 차근차근 Kotlin(5) - 함수 (0) | 2020.09.06 |
| 차근차근 Kotlin(3) - Array, Collection (0) | 2020.09.04 |
| 차근차근 Kotlin(2) - 조건문 (0) | 2020.09.03 |
| 차근차근 Kotlin(1) - 변수, Naming Convention (0) | 2020.09.03 |