728x90
for-each 문
- 컬렉션을 만드는 방법
- 자바: Arrays.asList
- 코틀린: listOf
- 자바 -> : 사용
- 코틀린 -> : 대신 in 사용
fun forEach() {
val numbers = listOf(1L, 2L, 3L)
for (number in numbers) {
println(number)
}
}
전통적인 for문
fun traditionFor1() {
for (i in 1..3) {
println(i)
}
}
fun traditionalFor2() {
for (i in 3 downTo 1) {
println(i)
}
}
fun traditionalFor3() {
for (i in 1..5 step 2) {
println(i)
}
}
- .. 연산자 : 범위를 만들어내는 연산자이다.
- Ex) 1..3 : 1부터 3의 범위
Progression과 Range
- IntRange -> IntProgression
- 등차수열
- 1. 시작 값
- 2. 끝 값
- 3. 공차
- 등차수열
public class IntRange(start: Int, endInclusive: Int) : IntProgression(start, endInclusive, 1), ClosedRange<Int> {
public open class IntProgression
internal constructor
(
start: Int,
endInclusive: Int,
step: Int
) : Iterable<Int>
fun traditionFor1() {
for (i in 1..3) {
println(i)
}
}
fun traditionalFor2() {
for (i in 3 downTo 1) {
println(i)
}
}
fun traditionalFor3() {
for (i in 1..5 step 2) {
println(i)
}
}
- 3 downTo 1
- 시작값: 3
- 끝값: 1
- 공차: -1 인 등차수열
- 1..5 step 2
- 시작값: 1
- 끝값: 5
- 공차: 2 인 등차수열
- donwTo, step도 함수다.
- 중위 호출 함수
- 변수.함수이름(argument) 방식 대신, 변수 함수이름 argument
- 1..5 step 2
- 1부터 5까지 공차가 1인 등차수열을 생성한다.
- 1~5, 공차가 1인 등차수열에 대한 함수를 호출한다. -> 등차수열.step(2)
- 결론: 코틀린에서 전통적인 for문은 등차수열을 사용한다.
while문
fun traditionalWhile() {
var i = 1
while (i <= 3) {
println(i)
i++
}
}
728x90