본문 바로가기
Android(Kotlin)

[Kotlin Android] 조건문과 반복문

by 클리마 2022. 5. 24.
728x90

이번 글에서는 Kotlin에서 사용할 수 있는 조건문에 대해 알아보겠습니다.


조건문

조건문은 특정한 조건에 의해서 실행할 코드를 선택하는 문장을 뜻합니다. Kotlin에서 조건문은 if문과 when문을 사용합니다.

>if문

if문은 JAVA 언어의 문장과 같습니다. if문, if - else문, if - else if - else문 모두 가능합니다.

if(조건식) {
    조건==참일 경우 실행문
}else { 
    조건==거짓일 경우 실행문 
}

또 if문을 간결하게 작성할 수도 있습니다.

fun maxNum(a : Int, b : Int) = if(a>b) a else b
// reutrn타입은 알아서 지정

>when문

when문은 JAVA의 switch문과 비슷한 형식이지만 switch문보다 훨씬 범용성이 넓어졌습니다. JAVA의 switch문은 분기 조건으로 상수만 가능했지만, when문은 임의의 객체를 허용합니다.

when(조건){
    조건 1 -> 수행문
    조건 2 -> 수행문
    else -> 수행문
}
when(score){    //범위 연산자인 "in .."을 사용하여 간단하게 범위 지정 가능
    in 90..100 -> println("A")
    in 70..80 -> println("B")
    else -> println("fail")
}

when문은 인자 없이도 사용이 가능합니다.

when {
    조건1 -> 수행할 문장
    조건2 -> 수행할 문장
}

when문에서 else는 필수일 때가 있고 아닐 때가 있습니다. 이를 위해 Expression과 Statement의 차이를 알 필요가 있습니다.

@Expression VS Statement

- Expression: 다른 언어에서 흔히 봤던 문장들. ex> if문, swith문 등 return 값이 불필요
- Statement: retrun 값을 반환해줘야 하는 문장. 배정문이 활용될 때 사용

간단히 말해 return 값이 필요한 배정문인지 아닌지에 따라 else의 유무를 판단할 수 있습니다.

//Expression
when(score){
    in 90..100 -> println("You are genius")
    in 10..80 -> println("not bad")
    else -> println("okay") //필수 X
        }
//Statement
var b = when(score){
    1 -> 1
    2 -> 2
    else -> 3   //필수
}

이상 Kotlin에서 쓰이는 조건문인 if문과 when문에 대해 알아보았습니다.

728x90