kotlin에서 사용하는 loop을 위한 방식으로는 for과 while이 있다.
c,c++,java와 같은 언어들과 거의 유사한 방식이다.
for([조건]){
// expression
}
while([조건]){
// expression
}
do{
// expression
} while([조건])
이렇게 do while 문까지 그대로 사용 가능하다.
다만, 조건을 쓰는 방식에 있어 약간의 차이점이 존재한다.
특히, for문에서 range라는 개념이 들어간다.
그냥 일반적인 조건(예, a < 3)을 써도 문제는 없지만, range 개념을 도입하면 c,c++,java보다 간편하게 표기할 수 있다.
python이 익숙하다면 더 쉬울 것 같다!
range는 범위를 표현하는 방법이다.
1. ..
여기에는 ".." operator를 사용한다.
예를 들어, "1..4"는 1,2,3,4를 의미한다. 즉, 'from 1 to 4'이다.
2. ..<
"1..<4"라고 표현하면 1,2,3을 의미한다. '1부터 4 전까지'인 것이다.
3. downTo
"4 downTo 1"이라고 하면 4,3,2,1로 역순 표현도 가능하다.
4. step
연속된 숫자가 아니라 일정 간격(step)을 두고 표현하고 싶을 경우, step을 사용한다.
예를 들어, "1..5 step 2"이면 1, 1+2 = 3, 1+2+2 = 5가 된다.
앞에는 ..뿐만 아니라 다른 것도 올 수 있다.
"5 downTo 1 step 2"는 5, 5-2 = 3, 5-2-2 = 1을 의미한다.
range는 단순히 숫자만 가능한게 아니라 Char type에 대해서도 적용된다.
'a'..'d' 는 'a', 'b', 'c', 'd'를 의미하고, 다른 operator들도 동일하게 적용할 수 있다. (ascii code를 떠올리면 쉬울듯!)
이 range operator들을 loop에 적용하면,
for(number in 1..5){
print(number) // 12345 출력
}
이런 식으로 조건문 안에서 활용 가능하다.
이렇게 사용할 땐 위에서 사용한 것처럼 "in" operator를 사용하면 된다.
number가 1부터 5까지 차례대로 가리키도록 하는 것이다.
Collection에 대해서도 이렇게 반복문을 적용할 수 있는데,
val list = listOf("a", "b", "c")
for (cur in list) {
println("cur is $cur")
}
이렇게 in을 활용해서 나타낼 수 있고, cur이라는 변수가 list의 0번 index부터 차례대로 가리키게 된다.
따라서 이 결과는
"
cur is a
cur is b
cur is c
"
라고 출력된다.
'CS > Kotlin' 카테고리의 다른 글
[Kotlin 문법] 7. Lambda expression (0) | 2024.06.12 |
---|---|
[Kotlin 문법] 6. 함수 - Unit, default parameter value, single-expression, named argument (1) | 2024.06.07 |
[Kotlin 문법] 4. 조건문 - if, when (0) | 2024.06.07 |
[Kotlin 문법] 3. Collection 자료구조 (1) | 2024.06.05 |
[Kotlin 문법] 2. 변수 type 지정하기 (0) | 2024.06.05 |