[Kotlin] if / when
ifλ
ifλ 쑰건문μ λνλ΄λ ν€μλλ‘, νλ‘κ·Έλ¨μμ 쑰건μ λ°λΌ νΉμ ν μ½λ λΈλ‘μ μ€ννλλ‘ νλ ꡬ쑰μ λλ€. ifλ¬Έμ κΈ°λ³Έμ μΈ κ΅¬μ‘°λ λ€μκ³Ό κ°μ΅λλ€.
if (쑰건) {
// μ‘°κ±΄μ΄ trueμΌ λ μ€νλλ μ½λ λΈλ‘
} else {
// μ‘°κ±΄μ΄ falseμΌ λ μ€νλλ μ½λ λΈλ‘
}
μ½νλ¦°μ if
μ½νλ¦°μ ifλ ννμ(expression)μ΄ κ°λ₯νκΈ° λλ¬Έμ μλ°μ λ¬λ¦¬ κ°μ λ°νν μ μμ΅λλ€. μ΄κ²μ μ½λλ₯Ό κ°κ²°νκ² μμ±νκ³ λ³μλ₯Ό μ΄κΈ°ννλ λ° μ μ©ν©λλ€.
// statement
val a: Int = 100
val b: Int = 200
var c: Int
if (a > b) {
c = a
} else {
c = b
}
print(c) // 200
// expression
val a: Int = 100
val b: Int = 200
var c: Int
c = if (a > b) {
a
} else {
b
}
print(c) // 200
Checking for Contain
μλ μ½λλ μ£Όμ΄μ§ μ μ aκ° λ°°μ΄ arrayOf(100, 200, 300) μμ ν¬ν¨λμ΄ μλμ§λ₯Ό νμΈνκ³ , κ·Έ κ²°κ³Όμ λ°λΌ λ€λ₯Έ λ©μμ§λ₯Ό μΆλ ₯νλ μμ μ λλ€.
val a: Int = 100
if (a in arrayOf(100, 200, 300)) {
print("ν¬ν¨")
} else {
print("λΆν¬ν¨")
}
// ν¬ν¨
whenμ΄λ
μ½νλ¦°μ whenμ μ¬λ¬ κ°μ§ 쑰건μ κ°κ²°νκ² μ²λ¦¬νλ ꡬ문μΌλ‘, μλ°μ switch λ¬Έμ λ체νλ μν μ ν©λλ€. whenμ λ€μν ννλ‘ μ¬μ©λμ΄ λ€μν 쑰건μ λ€λ£° μ μμ΅λλ€. κΈ°λ³Έμ μΈ whenμ ꡬ쑰λ λ€μκ³Ό κ°μ΅λλ€.
when (쑰건) {
κ°1 -> μ€νν μ½λ1
κ°2 -> μ€νν μ½λ2
κ°3, κ°4 -> μ€νν μ½λ3
in λ²μ -> μ€νν μ½λ4
else -> κΈ°λ³Έ λμ μ½λ
}
ifλ₯Ό whenμΌλ‘ λ°κΏλ³΄μ
whenμ μ¬μ©νμ¬ ifλ₯Ό κ°κ²°νκ² ννν μ μμ΅λλ€.
// if
val score = 85
var grade = ""
if (score >= 90) {
grade = "A"
} else if (score >= 80) {
grade = "B"
} else if (score >= 70) {
grade = "C"
} else {
grade = "D"
}
println("Grade: $grade") // B
// when
val score = 85
val grade = when {
score >= 90 -> "A"
score >= 80 -> "B"
score >= 70 -> "C"
else -> "D"
}
println("Grade: $grade") // B
whenμ ννμ(expression)κ³Ό λ¬Έ(statement)
whenμ ννμ(expression)μ΄λ λ¬Έ(statement)μΌλ‘ μ¬μ©λ μ μμ΅λλ€.
// expression
val x = 5
val result = when (x) {
1 -> "One"
2 -> "Two"
else -> "Other"
}
println(result) // Other
// statement
val x = 5
when (x) {
1 -> println("One")
2 -> println("Two")
else -> println("Other")
}
// Other