[코틀린] 코틀린에서 반복문을 다루는 방법

J·2023년 3월 20일
1

안드로이드

목록 보기
17/29

1. for-each 문

숫자가 들어 있는 리스트를 하나씩 출력하는 예제

<자바 코드>

List<Long> numbers = Arrays.asList(1L, 2L, 3L);
for (long number : numbers) {
  System.out.println(number);
}

<코틀린 코드>

fun main() {
  val numbers = listOf(1L, 2L, 3L) //컬렉션을 만드는 법이 다름.
  for(number in numbers) { // : 대신 in을 사용함. Java와 동일하게 Iterable이 구현된 타입이라면 모두 들어갈 수 있다.
    println(number)
  }
}

2. 전통적인 for문

1부터 3까지 출력하는 예제

<자바 코드>

for (int i = 1; i <= 3; i++) {
  System.out.println(i);
}

<코틀린 코드>

for (i in 1..3) { //1..3은 1부터 3까지라는 의미이다.
  println(i)
}

3부터 1까지 (내려가는 경우) 출력하는 예제

<자바 코드>

for (int i = 3; i >= 1; i--) {
  System.out.println(i);
}

<코틀린 코드>

for (i in 3 downTo 1) {
  println(i)
}

2칸씩 올라가는 경우는?!

<자바 코드>

for (int i = 1; i <= 5; i+=2) {
  System.out.println(i);
}

<코틀린 코드>

for (i in 1..5 step 2) {
  System.out.println(i)
}

3. Progression과 Range

..연산자 : 범위를 만들어 내는 연산자

  • 1..3 : 1부터 3의 범위

  • IntRange → IngProgression

  • Progression = 등차수열 :

  • 시작 값

  • 끝 값

  • 공차 (몇 칸씩 뛸지)
    => 사실은 등차수열을 만들어주고 있던 것!!

  • 3 downTo 1 : 시작값3, 끝값1, 공차가 -1일 등차수열

  • 1..5 step 2 : 시작값1, 끝값5, 공차가 2인 등차수열

  • downTo, step 도 함수이다! (중위 호출 함수)

  • 변수.함수이름(argument) 대신 변수 함수이름 argument

  • 1..5 step 2 : 1부터 5까지 공차가 1인 등차수열 생성, 1~5, 공차 1 등차수열 step2

4. While문

1부터 3을 출력하는 예제 (자바)

int i = 1;
while (i <= 3) {
  System.out.println(i);
  i++;
}

1부터 3을 출력하는 예제 (코틀린)

var i = 1
while (i <= 3) {
  println(i)
  i++
}

0개의 댓글