본문 바로가기
Kotlin

반복문

by oncerun 2022. 12. 4.
반응형

for-each문

 

자바 코드

List<Integer> collect = Stream.of(1, 2, 3).collect(Collectors.toList());
for (Integer integer : collect) {
  System.out.println(integer);
}

코틀린 코드

val numbers = listOf(1L, 2L, 3L)
for (number in numbers) {
    println(number)
}

 

차이점 

 

콜론 대신 in을 사용한다. 

 

list를 만드는 방법이 다르다.

 

공통점

 

in, 콜론 뒤에 Iterable이 구현된 타입을 받는다는 것.

 

 

전통적인 for문

 

자바 코드

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

코틀린 코드

 

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

 

.. 이라는 특별한 연산자를 사용한다. 

 

반대 연산을 하는 경우 자바는 다음과 같이 작성한다.

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

 

코틀린은 조금 다르다.

 

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

 

증감문을 표현하는 코틀린

 

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

 

 

Progression과 Range

 

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

 

Range라는 클래스는 Progression (등차수열)을 상속받고 있다. 

 

public class IntRange(start: Int, endInclusive: Int) : IntProgression(start, endInclusive, 1), ClosedRange<Int> 

 

downTo, step을 중위함수라고 한다. 

 

일반적으로 (변수.함수(매개변수))로 사용하는 것을 (변수 함수 매개변수)로 사용할 수 있게 해주는 것이다.

 

 

while문

 

자바 코드

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

 

코틀린 코드

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

'Kotlin' 카테고리의 다른 글

함수 문법  (0) 2022.12.04
예외 처리  (0) 2022.12.04
조건문  (0) 2022.11.30
연산자  (0) 2022.11.27
Type  (0) 2022.11.27

댓글