모든 언어에서 무조건 사용이 되는 반복문과 조건문을 코틀린에서는 어떻게 사용하는지, 또 다른 언어와의 차이점이 있는지 확인해보자.
- 반복문
- 특정 로직을 반복적으로 작성해야 할 때 주로 사용된다.
- 간단한 while문 먼저 살펴보자.
-
var cnt: Int = 0 while(cnt <= 10) { cnt++ } do{ cnt++ } while(cnt <= 20)
- while과 do-while로 사용할 수 있는데 do-while의 경우 먼저 실행 후 while(조건)을 확인한다는 특징이 있다.
-
- 코틀린에서는 for문의 사용방법이 매우 다양하다. 필요에 따라 알맞게 사용하면 될 듯하다.
-
val size: Int = 10 for(i: Int in 1..10) for(i: Int in i..size) for(i: Int in 1 until size + 1)
- 위의 for문은 모두 1~10까지 반복하게 된다. (until의 경우 우측의 값 전까지 반복하게 된다.)
-
for(i: Int in 1..10 step(2))
- step키워드를 통해서 2씩 증가시킬 수 있다.(i 에는 1, 3, 5, 7, 9가 차례대로 할당됨)
-
for(i: Int in 10 downTo 1) for(i: Int in 10 downTo 1 step(2))
- downTo를 사용하면 좌측의 값부터 우측의 값까지 1씩 감소하면서 i에 할당된다.
- step을 사용할 경우 step의 값만큼 빼면서 할당한다.(10, 8, 6, 4, 2)
-
val array: IntArray = intArraysOf(1, 2, 3, 4, 5) for(i: Int in array)
- for문을 제일 많이 사용하는 배열의 경우 in을 통해 넣어주면 하나씩 꺼내서 할당해 준다.
- 자바의 향상된 for문 혹은 자바스크립트의 for-in을 생각하면 좋다.
-
- 파이썬, 자바스크립트와 같은 동적 언어를 많이 다뤄봤다면 매우 익숙한 문법이겠지만 자바와 같은 동적 언어로 프로그래밍에 입문을 했다면 다소 불편할 수도 있지만 적응하면 잘 사용할 수 있다고 생각한다.
- 조건문
-
if(true) else if(false) else
- 일반적으로 많이 사용하는 조건문이다. 코틀린에서도 동일하게 사용이 가능하다.
-
val foo: String = when(value) { 1..5 -> {"hello"} 10 -> {"hi"} else -> {"bye"} }
- 다른 언어가 가지고 있는 switch case문과 매우 유사하지만 {}를 통해 범위를 제어하기 때문에 break가 필요하지 않다.
- 또한 결과를 바로 리턴 받아 사용이 가능하다.
-