반응형
1. for
for 키워드는 주어진 컬렉션이나 범위에 속한 요소를 하나씩 순회하며 지정된 코드 블록을 실행합니다.
for문의 기본 형태는 아래와 같습니다.
for(변수 in 컬렉션 또는 범위) {
//실행할 코드
}
fun main() {
var sum : Int = 0
for(i in 1..3) {
sum += i
}
println(sum) // 6출력
}
1..3은 1부터 3의 범위를 의미하며 각 값을 i에 대입해 반복해서 실행하게 됩니다.
2. 범위를 나타내는 두가지 방법
코틀린에서는 범위를 생성할 때 ..과 until 두가지 방법을 제공합니다.
1. .. 연산자
양 끝 값을 포함한 범위를 만듭니다.
val range = 1..5 // 1, 2, 3, 4 ,5
2. until 키워드
끝 값을 제외한 범위를 만듭니다.
val range = 1 until 5 //1,2,3,4
3. for문과 범위 활용
val range1 = 1..5
val range2 = 1 until 5
fun main() {
var sum1 : Int = 0
var sum2 : Int = 0;
for(i in range1) {
sum1 += i
}
for(i in range2) {
sum2+= i
}
println(sum1) // 15 출력
println(sum2) // 10 출력
}
until의 경우 끝 값이 제외되기 때문에 range2 범위를 이용할 경우 10이 출력되는 것을 볼 수 있습니다.
- .. 연산자: 끝값 포함 → 1 + 2 + 3 + 4 + 5 = 15
- until: 끝값 제외 → 1 + 2 + 3 + 4 = 10
3. for문의 다양한 활용
1. 리스트와 배열
for문은 리스트, 배열 등등의 컬렉션에서도 쉽게 사용이 가능합니다.
fun main() {
val students = listOf("뚜비", "나나", "텔레토비")
for (student in students) {
println(student)
}
}
뚜비
나나
텔레토비
2. 맵 순회
맵에서는 키와 값을 동시에 순회할 수 있습니다.
fun main() {
val map = mapOf(1 to "값1", 2 to "값2", 3 to "값3")
for ((key, value) in map) {
println("$key -> $value")
}
}
1 -> 값1
2 -> 값2
3 -> 값3
3. 역순과 단계 설정
downTo를 사용하면 역순으로 순회할 수 있으며 step 키워드를 사용하면 크기를 지정해 반복할 수 있습니다.
fun main() {
for (i in 5 downTo 1) {
print("$i ") // 5 4 3 2 1
}
}
5 4 3 2 1
fun main() {
for (i in 1..10 step 2) {
print("$i ") // 1 3 5 7 9
}
}
1 3 5 7 9
4. forEach 활용
코틀린은 고차 함수를 활용한 forEach로 더욱 간결한 반복문 작성이 가능합니다.
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
numbers.forEach { number ->
println(number)
}
}
5. 문자열 반복
문자열 순회를 통해 각 문자를 처리할 수 있습니다.
fun main() {
val text = "Kotlin"
for (char in text) {
print("$char ")
}
}
K o t l i n
4 총정리
for문의 주요 개념 요약!
- for 문: 주어진 컬렉션 또는 범위를 순회하며 코드를 실행한다.
- in 키워드: 순회와 포함 여부 확인에 사용한다.
- 범위 연산자
- ..: 양 끝값을 포함한다.
- until: 끝값 제외한다.
- downTo, step: 역순 순회와 단계 설정이 가능하다.
- 다양한 컬렉션(리스트, 맵, 배열)과 함께 활용 가능하다.
- 고차 함수를 활용한 forEach도 사용 가능하다.
반응형
'Kotlin 정리' 카테고리의 다른 글
[Kotlin 공부 6일차] 오버로딩, when (0) | 2024.12.06 |
---|---|
[Kotlin 공부 5일차] 확장 함수, 이름 붙은 인자와 디폴트 인자 (0) | 2024.12.04 |
[Kotlin 공부 4일차] 객체, 클래스, 생성자 (0) | 2024.12.02 |
[Kotlin 공부 2일차] 코틀린에서 함수와 조건문(if), 문자열 템플릿 다루기 (0) | 2024.11.28 |
[Kotlin 공부 1일차] var val, 데이터 타입 (0) | 2024.11.27 |