Programming language/Kotlin

코틀린 반복문

Think-About 2022. 8. 13. 17:32

코틀린 반복문에는 for, while이 있습니다.
for와 while에 대하여 알아보고 실습해보는 글입니다.
시작하기 전에 앞서 정리한 코틀린 기본 문법들을 보고 오시는 것을 추천드립니다.

 

'프로그래밍 언어/Kotlin' 카테고리의 글 목록

지식을 공유하고 같이 생각해보는 블로그입니다. 전문 지식 뿐만 아니라 많은 분들께 도움 되는 지식 공유하는 블로그입니다.

think-about.tistory.com

프로그래밍에서 반복문이라는 것은 제어문 중 하나입니다.

반복문을 왜 써야 할까요?
특정 부분의 작업이 반복적으로 수행되도록 할 수 있기 때문입니다.


보너스로 용어를 정리해드리고자 합니다.
이전에 알아본 조건문과 이번 글의 반복문을 control flow라고 합니다.
control flow 아래에 condition과 loop가 있는 것이겠죠?
그럼 코틀린 for와 코틀린 while에 대하여 본격적으로 알아봅시다.

코틀린 반복문
코틀린 반복문


코틀린 for

코틀린 for 문은 제어 변수를 증가시키거나 감소시키면서 조건이 참이면 작업을 반복하는 것입니다.
여기서 조건에는 in이 주로 사용됩니다. in은 코틀린에서 범위 연산자를 의미합니다.
코틀린 for 문으로 유명한 별 찍기를 해볼까요?

코틀린 이중 for문으로 별 찍기
코틀린 이중 for문으로 별 찍기

위 예시에서 in 1..3 부분의 의미는 1부터 3까지 1씩 증가하면서 그만큼 반복하라는 의미입니다.
in 1..i 부분은 1부터 i까지 이겠죠?
in 뿐만 아니라 범위를 표현하는 방법은 다음과 같이 다양합니다.

  • 1..10 (1부터 10까지)
  • 1 until 10 (1부터 9까지)
  • 1..10 step 2 (1부터 10까지 2씩 증가)
  • 10 downTo 1 (10부터 1까지 감소)

코틀린 플레이그라운드를 통해 꼭 직접 실습해보셔야 합니다.



우리는 이전에 컬렉션 타입을 알아보았습니다.
만약 컬렉션 타입을 모르신다면 다음 글을 꼭 보고 오시길 바랍니다.

 

코틀린 컬렉션 타입

코틀린 컬렉션 타입 컬렉션 타입은 여러 개의 값을 표현하는 것입니다. 컬렉션 타입에 해당하는 Array, List, Set, Map에 대하여 정리하고자 합니다. 이전 글들을 통해 코틀린 변수, 함수 등 기본적

think-about.tistory.com

코틀린 반복문을 사용할 때 컬렉션 타입을 다루는 경우가 무조건 발생한다고 해도 과언이 아닙니다.
사실 제가 지금까지 제시해드렸던 예시들을 보면 반복문으로 데이터를 접근하는 것을 한 번씩 보셨을 겁니다.
저건 뭐지?라는 생각이 들으셨다면 학습을 잘하고 있다고 할 수 있겠습니다.
Int 타입의 데이터들이 들어있는 컬렉션 타입을 선언하고 이를 코틀린 for문으로 출력해보겠습니다.

코틀린 for문으로 데이터 접근
코틀린 for문으로 데이터 접근

새로운 것이 눈에 들어오실 겁니다.
indices는 컬렉션 타입의 인덱스 값을 범위로 표현해주는 것입니다.
사실 우리는 위의 예시에선 1..3으로 범위를 표현해도 되지만 실제 개발을 해보시면 배열 크기가 정적인 경우는
만나보시기 어렵습니다. 배열 크기가 동적인 경우 indices를 사용하면 아주 편하겠죠?

코틀린 while

while문은 조건이 참이면 명시한 작업을 진행합니다.
사실상 for문과 의미는 크게 차이가 없습니다.
바로 예시를 살펴볼까요?

코틀린 while 문으로 데이터 접근
코틀린 while 문으로 데이터 접근

for문의 예시와 의미는 크게 차이가 없습니다.
하지만! 문법에는 차이가 느껴지시나요?


바로 코틀린 while 문은 범위 연산자가 없다는 것입니다.
이 부분을 꼭 명심하셔야 합니다. 증감 연산을 빼먹으면 무한 루프에 빠집니다.
for 문을 이해하셨다면 while 문도 쉽게 이해하셨을 겁니다.


Plus Tip!

파이썬처럼 반복문에서 데이터를 바로 가져다가 사용할 수 없을까..?

사실 개인적으로는 이 방법을 가장 많이 쓰는데요. 바로 코드를 확인해봅시다.

코틀린 for 문 컬렉션 타입
코틀린 for 문 컬렉션 타입

범위 연산자 in 뒤에 컬렉션을 직접 입력하면 제어 변수(예시에서 n)에 컬렉션의 데이터가 반복적으로 들어가게 됩니다.


이번 글은 여기까지 입니다.
다음 시간에도 재밌는 코틀린으로 돌아오도록 하겠습니다.

Think-about ~ Kotlin!