728x90
반응형
조건문과 반복문
이전 글에서는 코틀린의 변수, 자료형, 함수에 대해 배웠습니다. 이번에는 프로그램의 흐름을 제어하는 조건문과 반복문을 다루어 보겠습니다.
1. 조건문
코틀린은 전통적인 if와 else 외에도 when이라는 강력한 조건문을 제공합니다.
(1) if 조건문
if는 자바와 비슷하게 동작하며, 표현식으로 사용할 수도 있습니다.
val number = 10
// 기본 사용
if (number > 0) {
println("Positive number")
} else if (number == 0) {
println("Zero")
} else {
println("Negative number")
}
// 표현식으로 사용
val result = if (number > 0) "Positive" else "Negative"
println(result) // "Positive"
(2) when 조건문
when은 자바의 switch와 유사하지만 훨씬 더 강력합니다. 값을 반환할 수도 있고, 다양한 조건을 처리할 수 있습니다.
val day = 3
val dayName = when (day) {
1 -> "Monday"
2 -> "Tuesday"
3 -> "Wednesday"
4 -> "Thursday"
5 -> "Friday"
6, 7 -> "Weekend" // 여러 조건 처리
else -> "Invalid day" // 디폴트 처리
}
println(dayName) // "Wednesday"
- 조건식을 사용할 수도 있습니다.
val number = -10
val type = when {
number > 0 -> "Positive"
number < 0 -> "Negative"
else -> "Zero"
}
println(type) // "Negative"
2. 반복문
코틀린은 전통적인 반복문과 더불어 간결한 for 루프를 제공합니다.
(1) for 반복문
for는 컬렉션이나 범위(range)를 순회할 때 사용됩니다.
// 1부터 5까지 출력
for (i in 1..5) {
println(i)
}
// 배열 순회
val items = listOf("Apple", "Banana", "Cherry")
for (item in items) {
println(item)
}
// 인덱스와 함께 순회
for ((index, value) in items.withIndex()) {
println("Index $index: $value")
}
- 범위 연산자
- 1..5: 1부터 5까지 포함
- 1 until 5: 1부터 4까지 (5는 제외)
- 5 downTo 1: 5부터 1까지
- step: 간격 설정
- for (i in 1..10 step 2) { println(i) // 1, 3, 5, 7, 9 }
(2) while 반복문
조건을 만족할 때까지 반복 실행합니다.
var count = 3
while (count > 0) {
println("Countdown: $count")
count--
}
// do-while: 한 번은 반드시 실행
do {
println("This runs at least once!")
} while (count > 0)
3. 예제: 간단한 숫자 게임
if, when, 그리고 반복문을 사용하여 간단한 프로그램을 작성해 봅시다.
fun main() {
val secretNumber = 7
while (true) {
println("Guess the number (1-10): ")
val guess = readln().toInt()
when {
guess < secretNumber -> println("Too low!")
guess > secretNumber -> println("Too high!")
else -> {
println("Correct! The number was $secretNumber")
break
}
}
}
}
728x90
반응형
'프로그래밍 언어 > Kotlin' 카테고리의 다른 글
[Kotlin] 6. 코틀린 확장 함수와 표준 라이브러리 활용 (0) | 2024.11.23 |
---|---|
[Kotlin] 5. 컬렉션과 함수형 프로그래밍 (1) | 2024.11.22 |
[Kotlin] 4. 클래스와 객체 (0) | 2024.11.20 |
[Kotlin] 2. 변수, 자료형, 함수 (1) | 2024.11.18 |
[Kotlin] 1. 코틀린이란 무엇인가? (2) | 2024.11.17 |