Kotlin
코틀린 제어문 Control Flows
IT Knowledge Share
2021. 7. 5. 00:22
반응형
코틀린에서 사용하는 여러 제어문을 알아봅니다.
제어문은 흐름을 제어하고 싶을 때 사용할 수 있습니다.
1. if 문
val a: Int = 5
val b: Int = 10
if (a > b) {
println("a가 b보다 크다")
}
if 문은 괄호 안에 조건이 오고, 조건을 만족하면 조건절의 내용을 실행하게 됩니다.
코틀린은 다른 언어와 다르게, 조건절의 내용이 단순한 경우, 중괄호 {........} 를 생략할 수 있습니다.
* if 문에 오는 조건 자체의 결과값은 boolean (True/False) 타입만 해당합니다.
2. if ~ else 문
val a: Int = 5
val b: Int = 10
if (a > b) {
println("a가 b보다 크다")
} else {
println("a가 b보다 작다")
}
if ~ else 문의 경우, if 절의 조건을 만족하지 않으면, else 절로 넘어오는 방식입니다.
3. else ~ if 문
val a: Int = 5
val b: Int = 10
println("1번")
if (a > b) {
println("a가 b보다 작다")
} else if (a < b) {
println("a가 b보다 크다")
} else {
println("a와 b는 같다")
}
else ~ if 문은 else 절에도 조건을 넣고 싶을 때 사용합니다. else if ( 조건 ) 를 추가하여 흐름을 더욱 세분화시켜 제어하실 수 있습니다.
4. if 문을 변수에 담기
val max = if (a > b) {
a //5
} else {
b //10
}
val max1 = if (a > b) a else b //축약 가능
println(max)
println(max1)
if 문 자체를 max라는 변수에 담은 경우입니다. 이렇듯, 필요에 따라 if 문을 변수에 담을 수 있습니다. 위에서 언급했듯이 코틀린에서는 절의 내용이 간단한 경우 중괄호를 없애서 축약할 수 있습니다.
* if 문을 변수에 담기 위해서는, if 문 자체가 어떤 '값'을 리턴해야만 합니다. if문 자체가 값을 리턴할 수 없는 경우, 변수에도 담을 수 없습니다. 모든 경우의 수에 대응하기 위해서는 else 블럭을 명시하는 등 값을 리턴할 수 있도록 합니다.
반응형