8-1. if/else 式
Contents
概要
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 で実行