if 문
만약 ~ 한다면의 뜻으로, if문의 주어진 값이 ‘참’인 경우, 따라오는 구문을 실행하는 기능을 가짐
fun main(){
var a = 7
if(a > 10) {
println("a는 10보다 크다. ")
}
else{
println("a는 10보다 작거나 같다. ")
}
}
비교연산자
<, ≤, ≥, >, 등호 == (할당 연산자와의 혼돈을 방지하기 위해)
is, !is
좌측 변수, 우측 확인할 자료형을 기입.
a is Int → 좌측 변수가 우측 자료형에 호환되는지 확인하고, 형변환까지 한번에 진행시켜줌
다중 조건문 When
다른 언어의 switch문을 편리하게 바꾼 것
if는 참과 거짓만을 비교할 수 있는 반면, when은 하나의 변수를 여러 개와 비교가 가능한 장점이 있다.
when의 활용
1. 조건문으로 활용
2. 표현식으로 활용
fun main(){
doWhen(1)
doWhen("Dimo")
doWhen(12L)
doWhen(3.14159)
doWhen("Kotlin")
}
fun doWhen(a: Any){
when(a){
1 -> println("정수 1입니다.")
"Dimo" -> println("디모의 코틀린 강좌")
is Long -> println("Long타입")
!is String -> println("String 타입이 아닙니다. ")
else -> println("어떤 조건도 만족하지 않는다. ")
}
}
특징
자료형 Any
: 어떤 자료형이든 상관없이 호환되는 코틀린 형
표현으로 활용된 when
: when의 조건이 맞을 때 동작 대신 값을 반환하는 표현식
fun main(){
doWhen(1)
doWhen("Dimo")
doWhen(12L)
doWhen(3.14159)
doWhen("Kotlin")
}
fun doWhen(a: Any){
when(a){
1 -> "정수 1입니다."
"Dimo" -> "디모의 코틀린 강좌"
is Long -> "Long타입"
!is String -> "String 타입이 아닙니다. "
else -> "어떤 조건도 만족하지 않는다. "
}
}
when에서 결과를 변수에 받아 출력한다면
fun doWhen(a: Any){
var result = when(a){
1 -> "정수 1입니다."
"Dimo" -> "디모의 코틀린 강좌"
is Long -> "Long타입"
!is String -> "String 타입이 아닙니다. "
else -> "어떤 조건도 만족하지 않는다. "
}
println(result)
}
참고자료
디모의 코틀린 강좌