[Kotlin] 3. 조건문과 반복문

2024. 11. 19. 16:24·프로그래밍 언어/Kotlin
목차
  1. 조건문과 반복문
  2. 1. 조건문
  3. (1) if 조건문
  4. (2) when 조건문
  5. 2. 반복문
  6. (1) for 반복문
  7. (2) while 반복문
  8. 3. 예제: 간단한 숫자 게임
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
  1. 조건문과 반복문
  2. 1. 조건문
  3. (1) if 조건문
  4. (2) when 조건문
  5. 2. 반복문
  6. (1) for 반복문
  7. (2) while 반복문
  8. 3. 예제: 간단한 숫자 게임
'프로그래밍 언어/Kotlin' 카테고리의 다른 글
  • [Kotlin] 5. 컬렉션과 함수형 프로그래밍
  • [Kotlin] 4. 클래스와 객체
  • [Kotlin] 2. 변수, 자료형, 함수
  • [Kotlin] 1. 코틀린이란 무엇인가?
dev_ares
dev_ares
대학에서 컴퓨터공학을 전공하고 있는 학생입니다.
    반응형
    250x250
  • dev_ares
    노트
    dev_ares
  • 전체
    오늘
    어제
    • 분류 전체보기 (187)
      • IT 트랜드 (2)
      • 백엔드 (18)
        • Java + Spring (8)
        • Kotlin + Spring (5)
        • 백엔드 (5)
      • 프론트엔드 (1)
        • React (1)
      • 대외활동 (17)
        • 42서울 (17)
      • 백준 (6)
        • Java (2)
        • C++ (3)
      • 전공 (121)
        • 객체지향프로그래밍 (17)
        • 자료구조 (23)
        • 리눅스시스템관리 (16)
        • 컴퓨터구조 (25)
        • 네트워크 (25)
        • 데이터베이스 (15)
        • 기타 전공 (0)
      • 프로그래밍 언어 (18)
        • Java (5)
        • Swift (4)
        • C++ (1)
        • Kotlin (8)
      • 기타 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    사설 문제
    반복자
    메모리 계층 구조
    자료구조
    오블완
    티스토리챌린지
    컴퓨터구조
    리눅스
    C++
    백준
    명령어
    상속
    컴퓨터 구조 및 설계
    데이터패스
    자바
    42서울
    컴공 포트폴리오
    단일 사이클
    추가 문제
    코틀린
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
dev_ares
[Kotlin] 3. 조건문과 반복문
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.