본문 바로가기
ⓢⓣⓤⓓⓨ/ⓐⓝⓓⓡⓞⓘⓓⓢⓣⓤⓓⓘⓞ

[Kotlin] 조건문, 반복문 정리

by heaven00 2021. 8. 31.
728x90

 

내가 보려고 정리하는 조건문, 반복문

 

다른건 다 괜찮은데 for문에서 1..10 처럼 구간을 표기하는 법이 헷갈린다

그리고 when문도 java swhich - case문과는 유사하지만 조금 더 편하게 사용 가능한 것 같아서

나중에 내가 안 잊을려고 작성하는 글!

 


 

조건문

 

 

1. 조건문 if~else문

- 가장 많이 사용하는 문법

- 조건을 여러개 하는 else if 문 사용 가능

- if문을 사용하려면, else를 생략할 수 없다 (if만 사용하거나 if~else if로 사용할 수 없다)

fun main() {
    var data = 5
    if (data > 10) {
        println ("data > 10")
    } else if ( data > 0 && data <= 10) {
        println ("data > 0 && data <= 10")
    } else {
        println ("data <= 0")
    }
}

 

다음과 같이 코드를 작성하면, 결과값은 data > 0 && data <= 10 이 된다

 

 

 

 

2. 조건문 when

 - when 키워드 다음의 소괄호 안에 넣은 데이터가 조건이 됨

 - when 문의 조건으로 정수가 아닌 다른 타입의 데이터 지정 가능

 - 데이터 명시하지 않고 조건만 명시 가능 (즉, when 뒤의 (data) 삭제 가능)

 - when 문으로 표현식 사용할 때 else문 생략 불가

 

fun main() {
    var data = 10
    when (data) {
        10 -> println("data is 10")
        20 -> println("data is 20")
        else -> {
            println("data is invalid")
        }
    }
}

 

fun main() {
    var data: Any = 10
    when (data) {
        10 -> println("data is 10")
        20 -> println("data is 20")
        "hello" -> println("data is hello")
        is String -> println("data is String")
        100..200 -> println("data is 100..200")
        5,6 -> println("data is 5 or 6")
        else -> {
            println("data is invalid")
        }
    }
}

 

다음과 같이 코드를 작성하면, 결과값은 data is 10 이 된다

 

 

 

 

 

 

반복문

 

 

1. for 문

 - 제어 변숫값을 증감하면서 특정 조건이 참일 때까지 구문을 반복해서 실행

 

fun main() {
    var sum: Int = 0
    for (i in 1..10) {
        sum += i
    }
}

다음과 같이 코드를 작성하면, sum값은 55가 된다

 

* 다양한 증가 감소 코드 작성법

- for (i in 1..10) { }     // 1부터 10까지 1씩 증가

- for (i in until 10) { }     // 1부터 9까지 1씩 증가

- for (i in 2..10 step 2) { }     // 2부터 10까지 2씩 증가

- for (i in 10 downTo 1) { }     // 10부터 1까지 1씩 감소

 

 

 

2. while문

 - 조건이 참이면 중괄호로 지정한 영역을 반복하여 실행

 

fun main(args:Array<String>) {
    var x = 0
    var sum1 = 0
    while (x<10) {
        sum1 += ++x
    }
}

다음과 같이 코드를 작성하면, sum1값은 55가 된다

증감연산자 ++x 임에 주의해서 (x++ 아님) 보면 55임을 알 수 있다. 

 

 

 

 

 

 

 

728x90

댓글