코틀린의 반복문에 대한 설명입니다.
코틀린의 반복문은 자바와 비슷하면서도 다르게 느껴집니다.
예시를 통해서 먼저 살펴보겠습니다.
Ex 1)
자바보다는 훨씬 반복문이 간결해진 느낌입니다.
첫번째 반복문은 매우 편하고 간단한 반복문으로 '..'을 사용합니다.
범위는 1 이상 10 이하의 숫자들이 나옵니다.
( 자세히 보시면 for문 괄호 안의 등호 표시로도 알 수 있습니다.)
두번째 반복문은 rangeTo 메서드를 이용했습니다. 범위를 표현하는 코틀린의 메서드로 역시 1부터 10까지의 숫자가 출력됩니다.
세번째는 until을 이용한 반복문입니다.
괄호를 보시면 아시다시피 1이상 10 미만의 수가 나옵니다.
*****
for (i in 10..1)
이렇게 반복문을 작성하신 다면
warning - This range is empty. Did you mean to use 'downTo'? 라는 경고가 나옵니다.
출력은 아무것도 나오지 않습니다.
A..B는 A 이상 B 이하의 범위가 나오기 때문에 위에서 아래로 내려오는 반복문을 작성하고 싶으시면 downTo 메서드를 사용하시는 게 좋습니다.
*****
Ex 2)
두번째 예시입니다.
처음 반복문은 step을 썼습니다. 직관적으로 알 수 있듯이 특정 간격을 나타낼 수 있습니다.
두번째는 downTo 메서드입니다. 위 예시의 rangeTo의 반대 메서드라고 생각하시면 됩니다.
위의 4가지 예시만 아셔도 웬만한 반복문은 충분히 작성 가능합니다.
문자 범위 순환
두 번째로 알아볼 것은 문자 범위 순환입니다.
바로 예시로 보여드리겠습니다.
Ex 1)
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
for (ch in 'a'..'f') {
print(ch)
// a b c d e f
}
for (ch in 'z'..'a') {
print(ch)
// 출력 X
}
}
문자를 반복문으로 출력하는 방식입니다. 반복문은 정수를 출력하는 것과 비슷합니다.
위에서 말한 것처럼 'z'..'a' 방식의 반복문은 안 됩니다.
Ex 2)
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
for (ch in 'a'.rangeTo('j')) {
print(ch)
// a b c d e f g h i j
}
for (ch in 'j'.downTo('a')) {
print(ch)
// j i h g f e d c b a
}
}
마찬가지로 rangeTo, downTo 메서드 사용이 가능합니다.
읽어주셔서 감사합니다.
'Kotlin > Study' 카테고리의 다른 글
코틀린 - 문자열 포맷팅, 변수와 상수 정의 (2) | 2022.11.20 |
---|