인프런에서 제공하고 있는 강의를 보고 정리한 글입니다.
if 문
Java 와 동일하다.
Expression 과 Statement
Statement 는 프로그램의 문장. 하나의 값으로 도출되지 않는다. Expression 은 반드시 하나의 값으로 도출되는 문장 이다.
Java 에서 if-else 는 Statement 지만, Kotlin 에서는 Expression 이다. Java 에서 3항연산자 처럼, Kotlin 에서는 if-else 를 사용할 수 있다. Kotlin 에서는 if-else 를 Expression 으로 사용할 수 있으므로, 삼항연산자가 없다.
fun getPassOrFail(score: Int): String {
return if (score >= 50 ) {
"P"
} else {
"F"
}
}
return 을 앞에 두고, 사용할 수도 있다. 그리고 if 로 범위 체크할 때 다음과 같이 사용할 수 있다.
fun validateScore(score: Int) {
if (score in 0..100) {
// Handle
}
}
switch, when
switch, case 문이 사라진 대신 when 문이 생겼다.
fun getGradeWithSwitch(score: Int): String {
return when (score / 10) {
9 -> "A"
8 -> "B"
7 -> "C"
else -> "0"
}
}
fun getGradeWithSwitchRange(score: Int): String {
return when (score) {
in 90..99 -> "A"
in 80..89 -> "B"
in 70..79 -> "C"
else -> "D"
}
}
when 구문에는 다음과 같이 쓰인다.
fun startsWithA(obj: Any) Boolean {
if String -> obj.startWith("A")
else -> false
}
// 여러개의 조건 동시 검사 가능
fun judgeNumber(number: Int) {
when (number) {
1, 0, -1 -> println("어디서 많이 본 숫자입니다")
else -> println("1, 0, -1 이 아닙니다")
}
}
// 여러개의 조건 동시 검사 가능
fun judgeNumber2(number: Int) {
when { // 이렇게 사용도 가능함.
number == 0 -> println("주어진 숫자는 0입니다")
number % 2 === 0 -> println("주어진 숫자는 짝수입니다")
else -> println("주어지는 숫자는 홀수입니다")
}
}
when 은 Enum class 혹은 Sealed Class 와 함께 쓸 경우, 더욱더 유용하게 사용할 수 있다.
'[ Kotlin ]' 카테고리의 다른 글
코틀린에서 클래스를 다루는 방법 - 9강 (0) | 2024.08.23 |
---|---|
코틀린에서 함수를 제어하는 방법 - 8강 (0) | 2024.08.23 |
코틀린에서 코드를 제어하는 방법 - 6강, 7강 (0) | 2024.08.23 |
코틀린에서 변수와 타입, 연산자를 다루는 방법 #2 (0) | 2024.08.22 |
코틀린에서 변수와 타입, 연산자를 다루는 방법 #1 (0) | 2024.08.22 |