반응형
for-each문
자바 코드
List<Integer> collect = Stream.of(1, 2, 3).collect(Collectors.toList());
for (Integer integer : collect) {
System.out.println(integer);
}
코틀린 코드
val numbers = listOf(1L, 2L, 3L)
for (number in numbers) {
println(number)
}
차이점
콜론 대신 in을 사용한다.
list를 만드는 방법이 다르다.
공통점
in, 콜론 뒤에 Iterable이 구현된 타입을 받는다는 것.
전통적인 for문
자바 코드
for (int i = 1; i <= 5; i += 2) {
System.out.println(i);
}
코틀린 코드
for (i in 1..3) {
println(i)
}
.. 이라는 특별한 연산자를 사용한다.
반대 연산을 하는 경우 자바는 다음과 같이 작성한다.
for (int i = 3; i >= 1; i--) {
System.out.println(i);
}
코틀린은 조금 다르다.
for (i in 3 downTo 1) {
println(i)
}
증감문을 표현하는 코틀린
for (i in 1..5 step 2) {
println(i)
}
Progression과 Range
.. 연산자 : 범위를 만들어 내는 연산자.
Range라는 클래스는 Progression (등차수열)을 상속받고 있다.
public class IntRange(start: Int, endInclusive: Int) : IntProgression(start, endInclusive, 1), ClosedRange<Int>
downTo, step을 중위함수라고 한다.
일반적으로 (변수.함수(매개변수))로 사용하는 것을 (변수 함수 매개변수)로 사용할 수 있게 해주는 것이다.
while문
자바 코드
int i = 1;
while (i <= 3) {
System.out.println(i);
i++;
}
코틀린 코드
var i = 1
while (i <= 3) {
println(i)
i++
}
반응형
댓글