티스토리 뷰
다음에 주어진 변수를 기반으로 추가적인 반복문을 알아보도록 합니다.
val a = mutableListOf<Int>(1, 2, 3, 4, 5, 6, 7, 8, 9)
1. size를 사용해서 인덱스만 순회하도록 반복하기
for문을 사용하는 경우에서 인덱스만을 순회할 수 있도록 코딩하는 방법입니다.
다음의 예제를 봅니다.
for (i in 0 until a.size){
println(a.get(i))
}
위의 예제는 0부터 변수 a의 크기만큼 인덱스 i를 순회하는 경우입니다.
여기서 중요한 부분은 until을 사용할 경우, a.size의 크기에서 마지막 숫자는 포함되지 않습니다.
출력값
1
2
3
4
5
6
7
8
9
출력값에서 알 수 있듯이, 0~8번째 인덱스에 해당하는 값만을 출력했습니다.
for문 사용 시 step을 넣어서 원하는 숫자 만큼 건너 뛰게 할 수 있습니다.
다음의 경우를 살펴 봅니다.
for (i in 0 until a.size step (2)){
println(a.get(i))
}
출력값
1
3
5
7
9
step이 (2)로 설정되어 있어서 2씩 건너 뛰어 출력된 결과입니다.
2. 인덱스 순서가 거꾸로 가는 반복문
마지막 인덱스부터 처음 인덱스 번호까지 인덱스 순서가 거꾸로 가도록 출력이 가능합니다.
두 예문을 살펴 봅니다.
for (i in a.size-1 downTo (0)){
println(a.get(i))
}
for (i in a.size-1 downTo (0) step(2)){
println(a.get(i))
}
출력값
9
8
7
6
5
4
3
2
1
9
7
5
3
1
예문을 살펴보면, 먼저 a.size에 -1을 해준 이유는 Boundary를 벗어나지 않도록 하기 위함입니다.
그리고 downTo를 사용하여 원하는 숫자까지 내려갈 수 있도록 지정합니다.
두 번째 예문과 결과에서 보듯이 step 설정 또한 가능합니다.
3. A .. B
for문을 사용할 때, A .. B로 범위를 설정하면, until과 다르게 마지막 숫자가 포함됩니다.
아래 예문으로 이해해 봅시다.
for (i in 0..10){
println(i)
}
for (i in 0 until 10){
println(i)
}
출력값
0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
예문에서 0 .. 10과 0 until 10의 차이점은 출력값에서 나타납니다. 전자는 10을 포함하지만, 후자는 10이 출력되지 않습니다.
4. while문
while문을 사용해서 개체를 반복할 수 있습니다.
이 경우, while문의 조건이 참인 경우, 내용이 계속 반복되며 반복을 멈추려면 조건이 성립하지 않도록 내용을 따로 코딩해야 합니다.
얘문을 살펴 봅니다.
var b: Int = 0
var c: Int = 4
while (b < c) {
b++ //while문을 정지시키기 위한 코드
println("b")
}
출력값
b
b
b
b
예문을 보시면, b < c 조건은 항상 참입니다. 따라서 b++ 코드가 없다면 b가 계속 출력되는 무한 루프에 걸리게 됩니다.
5. do ~ while문
do ~ while의 경우, do에 있는 내용을 무조건 한 번은 실행하고 이후에 while 반복절로 넘어가는 형태입니다.
예제를 살펴 봅니다.
var d: Int = 0
var e: Int = 4
do {
println("hello")
d++
} while (d < e)
출력값
hello
hello
hello
hello
이 경우, do 절에 있는 "hello"가 한 번은 무조건 출력되며, 이후 while의 조건이 참인 경우 do의 내용이 계속 실행되는데, 이 또한 무한 루프를 막기 위해 d++를 코딩한 경우입니다.
'Kotlin' 카테고리의 다른 글
코틀린 전역 변수, 지역 변수 (Global Variables, Local Variables) (0) | 2021.07.06 |
---|---|
코틀린 클래스 Kotlin Class (0) | 2021.07.06 |
코틀린 반복문 Kotlin Iterators (0) | 2021.07.06 |
코틀린 컬렉션 Kotlin Collections (0) | 2021.07.06 |
코틀린 배열 Kotlin Array (0) | 2021.07.06 |
- Total
- Today
- Yesterday
- 2019년 사건사고
- 2007년 사건사고
- notifyDataSetChanged
- 뷰 바인딩
- RecyclerView
- tabLayout
- ToDo List 앱 만들기
- 애드뷰
- 선형 레이아웃
- 리스트뷰
- 안드로이드 어댑터
- 안드로이드 프로젝트
- addView
- 2021년 사건사고
- findViewById
- 탭레이아웃
- Bmi Calculator
- 인텐트
- bmi 계산기 만들기
- view binding
- 메소드 오버라이딩
- 안드로이드 스튜디오 에러
- 미제사건
- 리사이클러뷰
- 대한민국 미제사건
- 안드로이드 앱 만들기
- 상대적 레이아웃
- android adapter
- 자바스크립트 배열
- lazy init
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |