1. 조건문
fun main() {
var i = 5
if (i > 10) {
println("i는 10보다 크다")
} else if (i > 5) {
println("i는 5보다 크다")
} else {
println("i는 5보다 작다")
}
}
조건문은 자바랑 똑같이 if, else문을 사용해서 나타낼 수 있다.
if문은 when 문으로 그대로 치환이 가능한데, when 문은 자바의 select문과 흡사하지만 굉장히 강력한 조건을 만들 수 있다.
when {
i > 10 -> {
println("i는 10보다 크다")
}
i > 5 -> {
println("i는 5보다 크다")
}
else -> {
println("i는 5보다 작다")
}
}
Alt+Enter 키워드를 사용해서 호환이 가능!
fun main() {
var i = 5
var result = if (i > 10) {
"i는 10보다 크다"
} else if (i > 5) {
"i는 5보다 크다"
} else {
"i는 5보다 작다"
}
println(result)
}
일반적으로 if-else문을 사용해서 print하는 것보다 어떤 결과물을 return하는 케이스가 많다.
if문 안에 마지막 문은 return이 되기 때문에 이렇게 앞에서 식으로 받아줄 수 있다.
자바에서는 if문 자체가 값으로 치환이 안되기 때문에 불가능하지만 코틀린에서는 가능하다!
자바에서의 삼항 연산자처럼 사용 가능한 if문이라 보면 된다.
2. 반복문
1. list 반복
fun main() {
val items = listOf(1, 2, 3, 4, 5) // 리스트 생성
for (item in items) {
println(item)
}
}
list를 for문으로 반복할 때는 이렇게 사용한다.
items.forEach { item ->
println(item)
}
이걸 for each를 사용하는 방식으로 고칠 수 있다!
2. n까지 반복
for (i in 0..n) {} // n까지 반복
for (i in 0..n step 2) {} // n까지 2만큼 띄워서 반복
for (i in 10 downTo 1) {} // 10에서 1까지 반복
for (i in 0 until 100) {} // 0-99까지 반복
일반적으로 for문에서 0부터 n까지 지정해서 쓰는 for문은 이렇게 사용한다.
이 방식으로도 list를 반복할 수 있는데, 그러기 위해선 n 자리에 size 함수로 리스트의 길이 값을 구해서 넣어주면 된다.
예) items.size
그러고나선 내부에서 리스트[i]로 사용해서 인덱스로 접근할 수 있지만 이건 for-each문보다 훨씬 불편하니 리스트를 반복할때는 되도록 for-each문을 사용하자.
while문, break문, continue문은 자바와 완전 동일하다.
3. index와 함께 반복
for ((index, name) in students.withIndex()) {} // index와 함께 반복
input.forEachIndexed {index, num -> // for-each로 index와 함께 반복
// 반복할 문장
}
index와 함께 반복하고 싶을때는 이렇게 하면 된다. 배열에 withIndex를 사용해서 반복하면 된다.
for-each문에서는 forEachIndexed 함수를 사용하면 끝!
'Coding > Kotlin(코틀린)' 카테고리의 다른 글
[Kotlin] 코틀린 기본 문법 정리 4 - List, Array, Try-Catch, Null Safety (0) | 2024.06.23 |
---|---|
[Kotlin] 코틀린 기본 문법 정리 2 - 문자열, MAX/MIN, Random, 입력 (1) | 2024.06.23 |
[Kotlin] 코틀린 기본 문법 정리 1 - 출력, 변수, 상수, 형 변환 (0) | 2024.06.21 |