코틀린 조건문
2022/09/29(목요일)
조건문 if~else와 표현식
if~else문은 프로그램의 흐름을 제어하는 데 가장 많이 사용한다.
fun main(){
var data = 10
if(data > 0){
println("data > 0")
}else{
println("data <= 0")
}
}
if 문에 명시한 조건을 만족하면 if 부분을 실행하고, 그렇지 않으면 else 부분을 실행한다. 또한 else if를 이용해 다음처럼 조건을 여러 개 나열할 수 도 있다.
fun main(){
var data = 10
if(data > 0){
println("data > 0")
}else if(data > 0 && data <= 10){
println("data > 0 && data <= 10")
}
else{
println("data <= 0")
}
}
이 if~else문은 대부분의 프로그램이 언어에서 제공하는 조건문과 차이가 없다. 그런데 코틀린에서 if~else는 표현식으로도 사용할 수 있다. 표현식이란 결괏값을 반환하는 계산식을 말한다. 즉 if~else문은 단순히 조건에 맞는 영역을 실행하는 용도로 사용해도 되지만, 결괏값을 반환하는 표현식으로도 사용할 수 있다..
fun main(){
var data = 10
val result = if (data > 0) {
println("data > 0")
true
}else{
println("data <= 0")
false
}
println(result)
}
위 소스를 보면 var result = if () { } else { } 형태로 작성했다. 즉, if~else문으로 조건에 맞는 코드를 실행하는 동작 외에 그 결괏값을 result라는 변수에 대입하고 있습니다. if~else문을 표현식으로 사용한 예이다.
if~else문을 표현식으로 사용하려면 else를 생략할 수 없다. if만 사용하거나 if~else if로 사용할 수 없다는 뜻이다. 항상 else 구문이 있어야 하면 If~else 혹은 if~else 형태로 사용해야 한다.
그리고 if~else 표현식 반환하는 결괏값은 각 영역의 마지막 줄에 해당한다. 즉, if나 else 부분을 여러 줄로 작성했더라도 마지막 줄의 실행 결과만 반환한다.