for
루프 변수에 따라 실행되는 반복문이다. Java에서는 for문이 아래와 같이 수행된다.
for(int i = 1; i < 11; i++){
System.out.print(i);
}
반면에 코틀린에서는 Java와 같이 코드를 작성하여서는 안 된다. 코틀린의 for문을 들어가기 앞서 Range에 대해 설명하겠다.
Range
'범위'를 뜻하듯이 설정한 범위에 따라 변수가 선언된다. 예시 코드는 아래와 같다.
var numRange1 : IntRange = 1 .. 10
var numRange2 : IntRange = 1 until 10
정수형의 범위를 설정하려면 자료형이 IntRange라고 선언한다.
.. | 처음부터 마지막까지 출력한다. 예시 코드에 따르면 1이상 10이하의 정수를 전부 출력한다. |
until | 처음부터 마지막 전까지 출력한다. 예시 코드에 따르면 1이상 10미만의 정수를 전부 출력한다. |
contains
Range 변수에서 해당 값이 포함되어 있는지 확인할 수 있는 함수이다.(함수에 대한 설명은 나중에 따로 할 예정이다.)
위의 예시 코드를 바탕으로 아래의 예시 코드를 작성하였다.
println(numRange1.contains(10)) // true
println(numRange2.contains(10)) // false
numRange1 변수는 1이상 10 이하이므로 10을 포함한다. 따라서 위의 코드는 true가 출력된다.
numRange2 변수는 1이상 10 미만이므로 10을 포함하지 않는다. 따라서 아래의 코드는 false가 출력된다.
* Range함수는 문자형도 가능하다
var charRange : CharRange = 'A'..'H'
for in Kotlin
맨 처음 Java의 for문을 코틀린에서는 어떻게 작성해야 할까? .. 일 때와 until일 때 아래와 같이 작성하면 된다.
// ..
for(i in 1..10){
print(i)
}
// until
for(u in 1 until 11){
print(u)
}
downTo
Java의 for문은 아래와 같이 작성될 때가 있다.
for(int i = 10; i > 0; i--){
System.out.print(i);
}
코틀린에서는 위 코드처럼 작성할 수 없다. 이 때 downTo를 사용하면 된다.
// downTo
for(d in 10 downTo 1){
print(d)
}
step
Java에서 가끔 2이상의 숫자를 합해서 출력하는 for문이 있다.
for(int i = 1; i < 10; i+=2){
System.out.print(i);
}
코틀린에서는 step을 통해 해결한다.
'코틀린' 카테고리의 다른 글
07. 제어문 - 조건문 - when (0) | 2025.01.29 |
---|---|
06. 제어문 - 조건문 - if (0) | 2025.01.28 |
04. 제어문 - 반복문 - while (0) | 2025.01.28 |
03. 자료형 (1) | 2025.01.28 |
02. Hello World (0) | 2025.01.25 |