Kotlin에서의 제어문
Statement : 프로그램의 문장으로 하나의 값으로 도출되지 않는다.
Expression : 하나의 값으로 도출되는 문장이다.
먼저 java에서는 if-else 문을 하나의 값으로 도출되는 문장으로 취급을 하지 않는다.
하지만 Kotlin에서는 Expression으로 하나의 값으로 도출되는 문장으로 취급한다.
따라서 아래의 코드가 가능하다.
fun function1(num: Int): String {
return if(num >= 50) {
"P"
} else {
"F"
}
}
fun function2(num: Int): String {
return if(num >= 90) {
"A"
} else if(num >= 80) {
"B"
} else if(num >= 70) {
"C"
} else {
"D"
}
}
또한 if문의 조건을 더 간결하게 바꿀 수도 있다.
/*
if(0 <= num && num <= 100) {} (Java)
*/
if(num in 0..100) {}
Java의 switch? Kotlin의 when!
java의 switch문을 Kotlin의 when문으로 대체가 가능하다.
fun function3(num: Int): String {
return when(num) {
in 90..99 -> "A"
in 80..89 -> "B"
in 70..79 -> "C"
else -> "D"
}
}