본문으로 바로가기

for-each문 (향상된 for문)

  • 코틀린에서는 : 대신 in 을 사용한다.
  • Iterable 이 구현된 타입이면 뭐든 들어갈 수 있다.
  • Type을 기재하지 않는다.
/* Kotlin */
val numbers = listOf(1L,2L,3L)
for (number in numbers) {
    println(number)
}
/* Java */
List<Long> numbers = Arrays.asList(1L,2L,3L);
for (Long number : numbers) {
    System.out.println(number);
}

for문 (Progression, Range)

  • .. 연산자 :  범위를 만들어 내는 연산자
    • 1..3 : 1부터 3의 범위
  • IntRange > IntProgression상속받고 있음
    • 사실상 등차수열(Progression)을 만들어 주는 것!
    • 시작값, 끝값, 공차 지정
    • 3 downTo 1 : 시작값3, 끝값1, 공차가 -1인 등차수열
    • 1..5 step 2 : 시작값1, 끝값5, 공차가 2인 등차수열
  • downTo, Step결국엔 함수이다. (중위호출함수)
    • 변수.함수이름(arg) 대신 변수 함수이름 arg
    • 1..5 step 2 실행 순서
      • 1부터 5까지 등차수열 생성
      • 등차수열.step(2)
      • 1,3,5 반환
/** Kotlin **/
for (i in 1..3){  //1씩 증가
    println(i)
}
for (i in 3 downTo 1){ //1씩 감소
    println(i)
}
for (i in 1..5 step 2){ // 1~5 2씩 증가
    println(i)
}
for (i in 5 downTo 1 step 2){ // 5~1 2씩 감소
    println(i)
}
/** Java **/
for (int i = 1; i <= 3; i++) {  // 1~3 1씩 증가
    System.out.println(i);
}
for (int i = 3; i >= 1 ; i--) { // 3~1 1씩 감소
    System.out.println(i);
}
for (int i = 1; i <= 5 ; i=i+2) { // 1~5 2씩 증가
    System.out.println(i);
}
for (int i = 5; i >= 1 ; i=i-2) { // 5~1 2씩 감소
    System.out.println(i);
}

while문

  • Java 와 동일하다.
// 3. while 문
var i = 1
while(i <= 3){
    println(i)
    i++
}

Reference

 

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide) - 인프런 | 강의

이 강의를 통해 Kotlin 언어의 특성과 배경, 문법과 동작 원리, 사용 용례, Java와 Kotlin을 함께 사용할 때에 주의할 점 등을 배울 수 있습니다., - 강의 소개 | 인프런...

www.inflearn.com