09. 반복문
반복문은 어느 언어이던지 중요한 것 같다.
코틀린에서의 반복문의 형식은 어떤지 배워보자.
----------------------------------------------------------------------
for문(1)
- for(변수 in 배열 이름){
}
item이라는 변수에서 5이면 item is Five를 출력하게 해주었다.
결과가 실제로 a 배열에서 item이 5일 때,
item is Five가 출력되는 것을 확인할 수 있다.
for문(2)
for((index, 변수) in 배열 이름.withIndex()){
}
이번에는 인덱스 번호까지 나오게 출력을 해볼 것이다.
그래서 .withIndex()를 사용할 것이다.
출력하니까 실제로 인덱스 번호가 나오는 것을 확인할 수 있다.
for문(3)
for(i in 인덱스 until 배열 이름.size){
println(배열 이름.get(i))
}
until
- 마지막을 포함하지 않는다.
여기서는 until을 사용해서 원하는 값을 출력하도록 할 것이다.
이렇게 하면 전체가 아닌 원하는 부분만 출력이 가능해 질 것이다.
여기서 주의해야 할 점은 until은 맨 마지막을 포함하지 않는다는 것이다.
즉, 여기서는 0 인덱스부터 9의 전인 8 인덱스까지를 의미한다.
이 결과를 보면 a.size()는 9인데
인덱스 번호 8인 9까지 출력한 것을 확인할 수 있다.
for문(4)
step()
- 건너 뛰어서 출력을 할 수도 있다.
여기서 step을 통해서 건너뛰어서 퐁당퐁당(?) 출력할 수도 있는데,
일단 step(2)로 하고 출력을 해본다.
그랬더니 홀수가 출력되는 것을 확인할 수 있다.
for문(5)
downTo()
- 큰 숫자에서 작은 숫자로 출력을 할 수 있다.
a.size - 1이였으므로 9-1인 8번째 인덱스에서 아래로 출력한다.
그래서 출력하면 다음과 같이 나온다.
for문(6)
for(i in 인덱스 .. 인덱스){
}
..
- 마지막을 포함한다.
이번에는 ..을 통해서 반복문을 해볼 것이다.
여기서 주의해야 할 점은 ..은 until과 다르게 마지막을 포함한다는 것이다.
여기서 마지막 인덱스의 값인 10을 출력한다는 것을 확인할 수 있다.
----------------------------------------------------------------------
forEach문(1)
배열 이름.forEach{
println(it)
}
이번에는 forEach문이다. 이 용어도 아마 자바에도 나오는 것 같다.
여기서 람다를 사용하는데,
그냥 forEach 구문에서 it을 사용해서 값을 담는다는 것 정도로 이해하면 될 것 같다.
출력해보면 배열의 원소가 다음과 같이 나오는 것을 확인할 수 있다.
forEach문(2)
배열 이름.forEach{ 변수 ->
println(변수)
}
it을 사용하지 않고 원하는 변수 명을 사용하기 위해서는 ->가 필요하다.
그러면 이렇게 배열 원소들이 출력되는 것을 확인할 수 있다.
----------------------------------------------------------------------
forEachIndexed문
배열 이름. forEachIndexed {index, 변수 ->
}
forEachIndexed문을 사용하기 위해서는 index와 변수를 적어주고 ->를 해준다.
이것이 앞의 for문보다 더 직관적이라서 보기가 깔끔한 면이 있다.
그럼 이렇게 전체의 결과가 출력이 된다.
----------------------------------------------------------------------
while문
변수 두개를 비교해준다.
그럼 이렇게 a가 4번 출력이 되는데, 0->1, 1->2, 2->3, 3->4 이렇게 된다.
a가 4가 되는 순간 b보다 작지 않으므로 while 문을 빠져나가게 된다.
----------------------------------------------------------------------
do while문
while 문과 다른 점은 while문은 조건 식이 true가 아니면 수행하지 않는다.
그러나 do while 문은 한 번 실행이 가능하다.
u이렇게 조건이 맞지 않음에도 한 번 실행함을 알 수 있다.
'security > 코틀린' 카테고리의 다른 글
Kotlin - 11. 접근 제어 (0) | 2020.07.29 |
---|---|
Kotlin - 10. 클래스 (0) | 2020.07.29 |
Kotlin - 08. Collection(2) - Mutable (0) | 2020.07.25 |
Kotlin - 07. Collection(1) - Immutable (0) | 2020.07.25 |
Kotlin - 06. 배열 (0) | 2020.07.24 |
댓글