4.1 for 반복문
- for : 특정 횟수만큼 코드를 반복하기 위해 사용
⊙ for 다음의 괄호 () 안에 반복할 범위를 지정하면 for 블로의 코드들이 지정한 횟수만큼 반복해서 동작
for (반복할 범위) {
// 실행 코드
}
⊙ for in ..(온점 2개) : 일반적인 형태의 for 반복문
시작값과 종료값으로 지정한 숫자 범위만큼 코드를 반복하는 일반적인 방법
for (변수 in 시작값..종료값) {
// 실행 코드
}
for (index in 1..10) {
println("현재 숫자는 " + index)
}
*** 출력 결과 *** 현재 숫자는 1 현재 숫자는 2 현재 숫자는 3 현재 숫자는 4 현재 숫자는 5 현재 숫자는 6 현재 숫자는 7 현재 숫자는 8 현재 숫자는 9 현재 숫자는 10 |
⊙ until : 마지막 숫자 제외하기
시작값과 종료값 사이의 ..(온점 2개) 대신에 until을 사용하면 종료값 이전까지만 반복
for (변수 in 시작값 until 종료값) {
// 실행 코드
}
var array = arrayOf("JAN","FEB","MAR","APR","MAY","JUN")
for (index in 0 until array.size) {
println("현재 월은 ${array.get(index)}입니다.")
}
*** 출력 결과 *** 현재 월은 JAN입니다. 현재 월은 FEB입니다. 현재 월은 MAR입니다. 현재 월은 APR입니다. 현재 월은 MAY입니다. 현재 월은 JUN입니다. |
⊙ step : 건너뛰기
for문의 블록을 step 수만큼 건너뛰어서 실행
for (변수 in 시작값..종료값 step 3) {
// 실행 코드
}
for (index in 0..10 step 3) {
println("현재 숫자는 ${index}")
}
*** 출력 결과 *** 현재 숫자는 0 현재 숫자는 3 현재 숫자는 6 현재 숫자는 9 |
⊙ downTo : 감소시키기
큰 수에서 작은수로 감소하면서 실행, step 사용 가능
for (downToIndex in 0 downTo 10) {
println("현재 숫자는 ${downToIndex}")
}
⊙ 배열, 컬렉션에 들어 있는 엘리먼트 반복하기
배열이나 컬렉션을 엘리먼트의 개수만큼 반복하면서 사용
var arrayMonth = arrayOf("JAN","FEB","MAR","APR","MAY","JUN")
for (month in arrayMonth) {
println("현재 월은 ${month}입니다.")
}
*** 출력 결과 *** 현재 월은 JAN입니다. 현재 월은 FEB입니다. 현재 월은 MAR입니다. 현재 월은 APR입니다. 현재 월은 MAY입니다. 현재 월은 JUN입니다. |
4.2 while반복문
- while : 특정 조건이 만족할 때까지 코드를 반복할 때 사용
- 괄호 안의 조건식에는 주로 두 항과 비교 연산자가 사용됨
- 괄호 안의 조건식 결과가 항상 true이면 무한루프에 빠짐
무한루프 while문 예제
var a = 1
while (a == 1) {
println("조건을 만족하면 여기를 출력하세요!")
}
⊙ 일반적인 while 반복문
for문과는 다르게 증감되는 인덱스가 있으면 코드에서 직접 처리해야 함
var current = 1
val until = 12
while (current < until) {
println("현재 값은 ${current}입니다")
current = current+1
}
*** 출력 결과 *** 현재 값은 1입니다 현재 값은 2입니다 현재 값은 3입니다 현재 값은 4입니다 현재 값은 5입니다 현재 값은 6입니다 현재 값은 7입니다 현재 값은 8입니다 현재 값은 9입니다 현재 값은 10입니다 현재 값은 11입니다 |
⊙ do와 함께 사용하기
do와 함께 사용하면 while문의 조건식과 관계없이 do 블록 안의 코드를 한 번 실행함
var game = 1
val match = 6
do {
println("${game}게임 이겼습니다. 우승까지 ${match-game}게임 남앗습니다.")
game += 1
} while (game < match)
*** 출력 결과 *** 1게임 이겼습니다. 우승까지 5게임 남앗습니다. 2게임 이겼습니다. 우승까지 4게임 남앗습니다. 3게임 이겼습니다. 우승까지 3게임 남앗습니다. 4게임 이겼습니다. 우승까지 2게임 남앗습니다. 5게임 이겼습니다. 우승까지 1게임 남앗습니다. |
⊙ while과 do~while의 차이점
가장 큰 차이점은 최초값이 조건식을 만족하지 않았을 경우 실행 코드가 달라지는 것
// 앞의 코드에 이어서
game = 6
while (game < match) {
println("while 테스트입니다.")
game + 1
}
// do ~ while 테스트
game = 6
do {
println("do ~ while 테스트입니다.")
game +=1
} while (game < match)
*** 출력 결과 *** do ~ while 테스트입니다. |
4.3 반복문 제어하기
⊙ break : 반복문 탈출하기
반복문 안에서 break를 만나면 반복문을 탈출, 특정 조건에서 무조건 for 반복문을 벗어날 때 사용
for (index in 1..10) {
println("현재 index는 ${index}입니다.")
if (index > 5)
break
}
*** 출력 결과 *** 현재 index는 1입니다. 현재 index는 2입니다. 현재 index는 3입니다. 현재 index는 4입니다. 현재 index는 5입니다. 현재 index는 6입니다. |
⊙ continue : 다음 반복문으로
반복문 안에서 continue를 만나면 다음 코드는 실행하지 않고 반복문의 처음으로 돌아감
for (except in 1..10) {
if (except > 3 && except < 8)
continue
println("현재 index는 ${except}입니다.")
}
*** 출력 결과 *** 현재 index는 1입니다. 현재 index는 2입니다. 현재 index는 3입니다. 현재 index는 8입니다. 현재 index는 9입니다. 현재 index는 10입니다. |
'프로그래밍 언어 > Kotlin 기초' 카테고리의 다른 글
[Kotlin공부]코틀린문법정리 : 06 클래스 (0) | 2021.03.03 |
---|---|
[Kotlin공부]코틀린문법정리 : 05 함수 (0) | 2021.03.01 |
[Kotlin공부]코틀린문법정리 : 03 배열과 컬렉션 (0) | 2021.02.06 |
[Kotlin공부]코틀린 문법 정리 : 02 조건문 (0) | 2021.02.03 |
[Kotlin공부]코틀린 문법 정리 : 01 변수 선언하기 (0) | 2020.12.17 |