코틀린 반복문을 배울 때 아 어차피 다른 언어랑 비슷하겠지 하며 배웠는데,
전혀 아니었다.
코틀린에서는 조금 신기하게 for문을 작성하던데,
코드로 보여주겠다.
fun main() {
for(i in 0..12) {
println(i)
}
var a = 0
var b = 0
while (a < 5){
println("a = " + a++)
println("b = " + ++b)
println()
}
for(j in 0..12 step 3){ // 0 부터 12 까지 3씩 증가, for(int j = 0; j <= 12; j+=3)
println(j)
}
println()
for(k in 9 downTo 0) // 9에서 0까지 감소
println(k)
println()
for (c in 'a'..'z')
print(c + " , ")
}
일단 for문을 돌릴때 변수명 in 조건이 들어간다.
in은 파이썬에서 봤으니 그렇다 할 수 있는데 조건 부분에서..으로 돌리길래 선뜻 이해되지 않았다.
맨 처음 for문을 보면 0.. 12 부분이 있는데 이게 0부터 12까지 돌린다는 뜻이다.
맨 처음 for문을 자바로 풀어보면
for(int i = 0; i < 12; i++) 정도가 되지 않을까 싶다.
또한 값의 증가를 바꿀 때 step이란 것을 쓰는데 2번째 for문에서 볼 수 있다.
2번째 for문도 자바로 풀어보면
for(int j = 0; j < 12; j += 3) 정도가 될 거 같다.
음, 벌써부터 헷갈리는 것 같다.
그래도 while은 사용법이 같은 것 같더라.
그리고 for문에서 값을 감소시킬 때 downTo라는 것을 사용하는데 3번째 for문에서 볼 수 있다.
이 부분도 자바로 풀어보자면
for(int k = 9; k > 0; k--) 정도이지 않을까.
마지막으로 좀 신기했던 건데 문자로 for문을 돌릴 수 있다.
마지막 for문을 보면 'a'..'z'로 되어있는 걸 볼 수 있는데,
a부터 z까지 다 돌리겠다는 거다.
당연히 여긴 타입 추론이 있으니 변수 c는 char 타입일 것이고.
이것도 자바로 풀어보면 for(char c = 'a'; c < 'z'; c++)이지 않을까, 아마?
자바에서 문자로 for문을 돌려본 적이 없어 모르겠다.
for문에서 신기한 부분이 많았는데,
익숙해지려면 많이 써봐야 할 것 같다.
코틀린으로 코딩 테스트를 풀다 보면 익숙해지지 않을까 싶다.
'언어 공부 > Kotlin' 카테고리의 다른 글
[Kotlin] 4. 클래스와 생성자(for레이블) (0) | 2021.11.17 |
---|---|
[Kotlin] 2. 배열과 형변환 (0) | 2021.11.15 |
[Kotlin] 1. 변수 사용법 (0) | 2021.11.14 |
[Kotlin] 0. 코틀린 배우기 시작 (0) | 2021.11.11 |