500error
코틀린 조건문 (if ~ else, when) 제대로 알고 가기 본문
반응형
조건문에서 자바와 코틀린의 큰 차이점은 자바에서(statement)였던 조건문이 코틀린에서는 조건식인(expression)이다.
expression 즉, 식이라는 것은 말 그대로 return값을 가지고 있을 수 있다
statement는 말 그대로 구문이다 그래서 그 코드 조각을 실행하는 하나의 문장들이라고 보면 된다
fun main(){
max(10, 3)
}
fun max(a : Int, b: Int){
val result = if (a > b){
println(a)
} else {
println(b)
}
}
여기 이 코드에서
이 만큼이 값이 될 수 있다
실제로 이만큼이 값이라고 보면 return값을 Unit으로 보면 된다
왜냐하면 println해서는 return값이 없으니까
println(b)
그러니까 요값도 Unit이겠죠
요렇게 해서 뱉은 result값은 바로 Unit이다
fun max(a : Int, b: Int){
val result = if (a > b) a else b
println(result)
// val result = if (a > b){
// println(a)
// } else {
// println(b)
// }
// println(result)
val result = if (a > b){
a
} else {
b
}
println(result)
}
자바에는 있는 삼항연산자가 코틀린에는 없음
하지만 이런식의 응용이 가능함
fun max(a: Int, b: Int){
val result = if (a > b) a else b
println(result)
}
자바에서는 switch를 사용하지만 코틀린에서는 when을 사용한다
만약 주고 싶은값이 월, 화, 수, 목 ...이라면
fun year(week: String) {
when (week) {
"월" -> false
"화" -> false
"수" -> false
"목" -> false
"금" -> false
"토" -> true
"일" -> true
}
}
중복되는 값을 ”,”로 대체할 수 있다
fun year(week: String) {
when (week) {
"토",
"일" -> true
"월",
"화",
"수",
"목",
"금" -> false
}
}
조금 더 간단하게 하면
fun year(week: String) {
when (week) {
"토",
"일" -> true
else -> false
}
}
요것도 expression이라서 값을 뱉고 싶다면
fun year(week: String) {
val result = when (week) {
"토",
"일" -> true
else -> false
}
println(result)
}
만약에 값이 여러개인 캐이스에서 해당 처리를 할 때
다시 이 값이 필요한 경우
fun year(week: String) {
val result = when (val day = week) {
"토",
"일" -> true
else -> false
}
println(result)
}
이렇게 처리를 해주는 케이스도 있다
만약 day로 값을 받아서 사용했다면
fun year(week: String) {
when (val day = week) {
"토",
"일" -> if (day == "토") "nice" else "nice!!"
else -> "힘들어"
}
println(result)
}
이런 식으로의 응용도 가능하다.
반응형
'프로그래밍 > 코틀린' 카테고리의 다른 글
코틀린 변수 알아보기 (0) | 2023.03.27 |
---|---|
코틀린 함수 선언 방식 (0) | 2023.03.27 |
[Kotlin]시작하기 전 왜 쓰는 지 알아보기 (0) | 2023.03.09 |
[Kotlin]코틀린 시작하기(1) - 환경 설정 (0) | 2023.03.09 |
Comments