본문 바로가기

개발 코딩 정보 공유/안드로이드 자바 코틀린

코틀린 기초 공부 해보기 3

1. 루프문 사용

 

루프문의 사용도 뭐 비슷비슷하네요.

 

1
2
3
4
5
val items = listOf("apple""banana""kiwifruit")
    
for (item in items) {
    println(item)
}
cs

 

여기서 listOf 가 궁금하실텐데요. 이건 java에서 리스트 객체를 생성한다고 생각하면 됩니다.

for (item in items) { 여기서 돌리는거죠. 참 쉽죠잉

 

돌리면서 index가 필요할수 있으니 그럴때 이렇게 씁니다.

 

1
2
3
4
5
6
7
val items = listOf("apple""banana""kiwifruit")
 
for (index in items.indices) {
 
    println("item at $index is ${items[index]}")
 
}
cs

 

 while 문장은 이렇게 쓰구요

 

1
2
3
4
5
6
7
8
9
10
11
val items = listOf("apple""banana""kiwifruit")
 
var index = 0
 
while (index < items.size) {
 
    println("item at $index is ${items[index]}")
 
    index++
 
}
cs

 

 

 

다음은 조금 생소할수도 있는 부분이지만...

 

1
2
3
4
5
6
7
8
9
val x = 10
 
val y = 9
 
if (x in 1..y+1) {
 
    println("fits in range")
    
}
cs

 

 

네. 단순하게 생각해서 x가 1부터 y+1 까지의 범위 안에 있느냐는 겁니다.

쉽죠잉?

 

 

1
2
3
4
5
for (x in 1..5) {
 
print(x)
 
}
cs

 

 

이런식으로 for문에서도 사용이 가능합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
for (x in 1..10 step 2) {
 
    print(x)
 
}
 
println()
 
for (x in 9 downTo 0 step 3) {
 
    print(x)
 
}
cs

 

 

이런식으로 step 별로 돌릴건지 셋팅도 가능합니다.

 

1
2
3
4
5
6
7
val fruits = listOf("banana""avocado""apple""kiwifruit")
 
fruits
    .filter { it.startsWith("a") }
    .sortedBy { it }
    .map { it.toUpperCase() }
    .forEach { println(it) }
cs

 

이건 스트림과 람다식 등의 공부를 더 하고 이해를 해야할것 같습니다. 

 

코틀린의 경우 funtion형 프로그래밍을 지향합니다. 최신?트랜드인 스트림, 고차함수지원, 람다식 등의 지원을 하고 있으며.. 이것들은 조금 공부가 필요한 부분입니다. 다음 편에서 알아 보겠습니다.