안드로이드 앱(Kotlin|Java)/[2025~] 안드로이드 앱
Part0_Ch01_05 조건식
heylo
2025. 1. 24. 17:37
1) 자바와 코틀린 조건문의 차이점
statement 와 expression
// 자바에서는 statement (구문) 였던 조건문이
// 코틀린에서는 expression (식) 이다.
// statement 는 코드조각을 실행하는 구문
// expression 은 변수에 할당될 수 있는 값이 될 수 있다.
fun main() {
max1(10, 4)
}
// 큰 수 출력 함수
fun max1(a : Int, b : Int) {
val result = if (a > b) {
println(a)
} else {
println(b)
}
println(result) // kotlin.Unit
}
조건문 전체를 val result 에 할당함
2) expression
fun main() {
max2(10, 4)
}
fun max2(a : Int, b : Int) {
val result = if( a > b){
a
} else {
b
}
println(result)
}
값을 바로 result 에 할당 가능
3) 삼항 연산자는 없지만
fun main() {
max3(10, 4)
}
// 코틀린에서는 3항 연산자가 없다
// 그대신 이렇게.
fun max3(a : Int, b : Int) {
val result = if (a > b) a else b
print(result)
}
4) switch 와 when
자바에서는 switch, 코틀린에서는 when
fun main() {
isHoliday("금")
}
// 월, 화, 수, 목, 금, 토, 일
fun isHoliday(dayOfWeek : String) {
val result = when (dayOfWeek) {
"토",
"일" -> true
else -> false
}
println(result)
}
// expression 으로 사용할 때는 , 반드시 else 가 있어야하지만
// 그렇지 않을 경우, 선택사항임
5) when 과 조건문
// 월, 화, 수, 목, 금, 토, 일
fun isHoliday(dayOfWeek : String) {
// 실무에서는 when 내부의 값을 받아서 다시 처리하기도 함
val result = when (val day = dayOfWeek) {
"토",
"일" -> if (day == "토") "내일 일요일" else "내일 월요일"
else -> "로동 하세요"
}
println(result)
}
6) when 내부의 값을 받아서 재처리 가능
Any 변수
fun whenPractice(value : Any) {
// 실무에서는 when 내부의 값을 받아서 다시 처리하기도 함
val result = when (val day = value) {
"토",
"일" -> if (day == "토") "좋아" else "너무 좋아"
in 2..4 -> {}
in listOf(1, 2, 3) 0 {}
else -> "로동 하세요"
}
}
코틀린에서는 삼항 연산자는 없고
자바와 달리 조건문 (statement) 이 아니라 조건식 (expression) 이다
식의 값을 받을 수 있다