반응형
안녕하세요
K-IN 입니다.
코틀린 루프(Loop)에 대해서 알아보겠습니다.
전체 강의 목록은 아래의 링크를 클릭해주세요.
코틀린 루프(반복문, While)
코틀린은 루프(반복문)을 위한 다양한 방법을 제공합니다.
- for
- while
- do-while
- Iterators
각각의 특징을 살펴보면서 문법에 익숙해지는 시간을 가지겠습니다.
코틀린 루프(반복문): while
while 과 do-while 루프는 조건을 만족할 때까지 계속해서 코드블록을 실행합니다.
이 둘의 차이점은 조건을 검사하는 시점의 차이입니다.
- while 은 코드 블록을 실행하기 전에 조건을 우선 검사합니다.
- do-while 은 우선 코드 블록을 실행하고 조건을 검사합니다.
따라서, do-while 은 while 와 달리 적어도 한번 코드 블록이 실행된다는 차이점이 있습니다.
아래의 예제를 통해서 이 차이를 명확하게 이해할 수 있습니다.
아래 코드에서 포인트들은 다음과 같습니다.
- while 루프는 조건을 우선 검사하고 조건을 만족할 경우 코드 블록을 실행
- cakesEaten 은 0 이므로 5보다 작기때문에 조건을 만족
- do-while 루프는 우선 코드 블록을 실행하고 조건을 검사
- "케이크를 구운 수(cakesBaked)" < "케이크를 먹은 수(cakesEaten)" 임에도 불구하고 코드 블록이 실행
- 1회 코드 블록이 실행된 후 조건을 검사하므로 do-while 코드 블록은 1회만 실행되고 루프가 종료
fun eatACake() = println("케이크 먹기")
fun bakeACake() = println("케이크 굽기")
fun main() {
var cakesEaten = 0
var cakesBaked = 0
// while 루프는 조건을 우선 검사합니다.
while (cakesEaten < 5) {
eatACake()
cakesEaten ++
}
// do-while 루프는 적어도 한번 크드 블록이 실행되고
// 조건을 검사합니다.
// 따라서, "케이크를 구운 수(cakesBaked)" < "케이크를 먹은 수(cakesEaten"
// 이더라도 코드가 적어도 한번 실행됩니다.
do {
bakeACake()
cakesBaked++
} while (cakesBaked > cakesEaten)
}
아래는 while 과 do-while 구문의 차이를 이해하기 위한 코틀린 플레이그라운드입니다.
여러분이 원하는 방향대로 코드를 변경하고 실행하면서 차이를 이해해보시길 바랍니다.
이상입니다.
K-IN 올림.
반응형
'프로그래밍 > 코틀린' 카테고리의 다른 글
K010. 코틀린 함수(Functions) 깊게 살펴보기 - Functions 파트1 (4) | 2024.02.05 |
---|---|
K009. 코틀린 루프(반복분, Loop) 깊게 살펴보기 - 반복자(Iterators) (0) | 2024.02.04 |
K007. 코틀린 루프(반복분, Loop) 깊게 살펴보기 - For 루프 (0) | 2024.02.02 |
K006. 코틀린 제어 흐름 if-else, when 깊게 살펴보기 (0) | 2024.02.02 |
K005. 클래스와 객체 한눈에 정리 (0) | 2024.02.01 |