概要
Kotlin の if/else 式は、条件に基づいて異なるコードブロックを実行するための制御フロー構造です。
Kotlin では if/else は文ではなく式であるため、値を返すことができます
書式
if に続けて、丸括弧 ( ) で条件式を囲みます。条件を評価し、結果が true である場合に、直後の文 あるいは波括弧 { } で囲まれたブロック内が実行されます。false の場合は実行されません。
if (条件式) {
文
}
条件式が true の場合だけでなく、false になった場合にも何らかの処理を実行したい場合もあります。
その場合 else 文を追加した書式があります。
if (条件式) {
文
}
else {
文
}
else の後に、さらに if-else を続けて条件分岐を追加することができます。
以下では、文3 が実行されるのは、条件式1と条件式2 がともに false の場合です。
if (条件式1) {
文1
}
else if (条件式2) {
文2
}
else {
文3
}
使用例
基本的な使い方の例
fun main (){
val number = 10
if (number % 2 == 0) {
println("偶数です")
} else {
println("奇数です")
}
}
出力
偶数です
Kotlin Playground で実行
式としての使用例
Kotlin の if/else は式であるため、値を返すことができます。
fun main (){
val a = 5
val b = 2
val max = if (a > b) {
a
} else {
b
}
println ("maxの値は $max です。")
}
出力
maxの値は 5 です。
Kotlin Playground で実行
else if の使用例
fun main (){
val score = 75
val grade = if (score >= 90) {
"A"
} else if (score >= 80) {
"B"
} else if (score >= 70) {
"C"
} else {
"D"
}
println("成績は $grade です。")
}
出力
成績は C です。
Kotlin Playground で実行
if/else 式をネスト (nested, 入れ子) にした例
if/else 式はネストすることができます。つまり、if または else ブロックの中に別の if/else 式を記述することができます。
fun main (){
val number1 = 10
val number2 = 20
if (number1 > 0) {
if (number2 > 0) {
println("number1 と number2 は両方とも正の数です。")
} else {
println("number1 は正の数ですが、number2 は正の数ではありません。")
}
} else {
println("number1 は正の数ではありません。")}
}
出力
number1 と number2 は両方とも正の数です。
Kotlin Playground で実行