반응형
1. for문
코틀린 for문은 다양한 방식으로 작성될 수 있습니다.
1) 일반적인 for문
fun main(args:Array<String>) {
for(i: Int in 1..10)
print("$i ") //output : 1, 2, 3, 4, 5 ... 10
val len: Int = 5
for(i in 1..len)
print("$i ") //output : 1, 2, 3, 4, 5
for(i in 1 until len)
print("$i ") //output : 1, 2, 3, 4
}
첫번째 for문은 1 ~ 10까지 반복합니다.
두번째 for문은 1 ~ len(5)까지 반복합니다.
세번째 for문은 1 ~ 4까진 반복합니다.(until은 마지막 숫자 전까지)
2) 증가값 다양한 for문(step)
fun main(args:Array<String>) {
for(i: Int in 1..10 step(2))
print("$i ") //output : 1, 3, 5, 7, 9
for(i in 10..1 step(-1)) //error
print("$i ")
}
step키워드를 사용해 증가값을 변경할 수 있습니다.
step에 들어간 변수는 const로 값이 고정되니 참고하시기 바랍니다.
두번째 for문은 step(-1)을 해주고 있습니다.
step은 음수를 지원하지 않음으로 해당 코드는 error가 납니다.
3) for문 위에서 아래로
fun main(args:Array<String>) {
for(i in 10 downTo 1) //output : 10, 9, 8, 7 ... 1
print("$i ")
for(i in 10 downTo 1 step(2)) //output : 10, 8, 6, 4, 2
print("$i ")
}
downTo 라는 키워드를 사용하면 됩니다.
그럴경우 위에서 아래로 값을 하나씩 빼면서 내려오게 됩니다.
4) 배열을 for문을 이용해 출력하기
fun main(args:Array<String>) {
val arr: IntArray = intArrayOf(10, 20, 30, 40, 50)
for(i in arr)
print("$i ") //output : 10, 20, 30, 40, 50
for(i in arr.reversed())
print("$i ") //output : 50, 40, 30, 20, 10
val list = listOf<String>("korea", "salmon", "T_T")
for(i in list)
print("$i ") //output : korea, salmon, T_T
for(i in 0 until list.count())
print("${list[i]} ") //output : korea, salmon, T_T
}
이런식으로 배열을 직접 입력해서 값을 호출할 수 있으며 Java나 C++에서의 iterator로 생각하시면 될 것 같습니다.
또한 배열값을 거꾸로 얻어오려면 .reversed()
함수를 이용하거나 .count()
함수를 이용해 좀 더 유연하게 사용할 수 있습니다.
2. while문, do ~ while문
코틀린의 while문과 do ~ while문은 Java와 동일합니다.
fun main(args:Array<String>) {
var a: Int = 1
while(a <= 10){
print("${a++} ") //output : 1, 2, 3, 4, 5 ... 10
}
do{
print("${a--} ") //output : 11, 10, 9, 8, 7 ... 1
}while(a > 0)
}
이상... 끝!!
반응형
'프로그래밍 > Kotlin' 카테고리의 다른 글
Kotlin] List 기능 설명(vector와 array의 차이점) (0) | 2020.07.18 |
---|---|
Kotlin] for문 vs foreach문 (0) | 2020.07.18 |
Kotlin] 코틀린 if문 형식(when, 범위지정) (0) | 2020.07.16 |
Kotlin] 변수 입력 방법.(타입 캐스팅, null) (0) | 2020.07.16 |
Kotlin] print, println에 대해서 (0) | 2020.07.03 |
댓글