For Programmer
9. 코틀린 - 반복문(for문) 본문
728x90
코틀린에서 for문을 이용하여 반복할 수 있는 방법은 아주 많다. 그중 몇가지만 사용해 보고자 한다.
List 선언
val a = mutableListOf<Int>(1,2,3,4,5,6,7,8,9)
for 방법 1
//반복하는 방법(1)
for ( item in a ){
print(""+item+" ") //1 2 3 4 5 6 7 8 9 출력
}
-> a의 원소들이 차례대로 item에 들어간다고 생각
for 방법 2
//반복하는 방법(2)
for( (index,item) in a.withIndex()){ //index와 item에 각각 index와 value값 들어감
println("index: " + index + " item: "+item)
}
출력
//index: 0 item: 1
//index: 1 item: 2
//index: 2 item: 3
//index: 3 item: 4
//index: 4 item: 5
//index: 5 item: 6
//index: 6 item: 7
//index: 7 item: 8
//index: 8 item: 9
for방법3(람다식이용)
//반복하는 방법(3)
a.forEach { //it에 a의 원소가 들어감
print(""+it+" ") //1 2 3 4 5 6 7 8 9
}
-> 실제로 안드로이드 스튜디오에서 사용해보면 it:Int라는 힌트가 있다. 이는 it라는 변수에 a의 원소가 차례대로 들어감을 의미한다.
for방법4(람다식이용)
//반복하는 방법(4)
a.forEach { item -> //item에 a의 원소가 들어감
print(""+item+" ") //1 2 3 4 5 6 7 8 9
}
-> 위의 3과 비슷하다. 직접 변수를 지정할 수 있다.
for방법5(람다식이용)
//반복하는 방법(5) 람다식을 이용
a.forEachIndexed { index, i -> //자동으로 index에는 index값이 i는 value값이 들어감
println("index: " + index + " item: "+i)
}
for방법6(until 범위 지정)
//반복하는 방법(6) until로 범위 지정
for (i in 0 until a.size){ //0~(a.size-1)까지 반복
print(""+a[i]+" ") //1 2 3 4 5 6 7 8 9 출력
}
println()
-> until 다음에 나오는 숫자는 범위에 포함되지 않는다. 즉 a.size -1 의 인덱스까지 돈다.
for방법7 (step추가)
//반복하는 방법(7) step추가
for (i in 0 until a.size step 2){ //0,2,4,6,8 로 2step씩 증가
print(""+a[i]+" ") //1,3,5,7,9 출력
}
-> step 만큼 건너뛰며 i가 증가한다.
for방법8
//반복하는 방법(8) downTo사용
for (i in a.size -1 downTo 0){// 8부터 0까지 반복(0 포함)
print(""+a[i]+" ") //9,8,7,6,5,4,3,2,1 출력
}
-> until 과 다르게 마지막 숫자 0을 포함한다.
for방법9
//반복하는 방법(9) downTo에 step추가
for ( i in a.size -1 downTo 0 step 2){//8 6 4 2 0 인덱스 출력
print(""+a[i]+" ") //9,7,5,3,1 출력
}
-> a.size -1 부터 2씩 줄어들며 i에 대입된다. 단, 0까지 줄어든다.(0 포함)
for방법10
//반복하는 방법(10) ..이용
for ( i in 0..8){ //0부터 8까지 인덱스 출력(8도포함)
print(""+a[i]+" ") //1,2,3,4,5,6,7,8,9 출력
}
-> untill 과 다르게 마지막 숫자를 포함한다는 점만 기억하면된다.
728x90
'Programming language > Kotlin' 카테고리의 다른 글
10. 코틀린 - Class(클래스) (0) | 2021.08.24 |
---|---|
9.(2) 코틀린 - 반복문(while문) (0) | 2021.08.24 |
9. 코틀린 - Collection함수 (List,Set,Map) (0) | 2021.08.24 |
8. 코틀린 - 배열 (0) | 2021.08.24 |
7.(2) 코틀린 조건문 - when (0) | 2021.08.23 |
Comments