Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

Kotlin辞典

if 式

Kotlin の『if』は文(statement)ではなく式(expression)として使えます。条件分岐の結果を変数に代入したり、関数の戻り値として直接返すことができます。

構文
// 文として使う基本形です。
if (条件) {
    // 処理
} else if (条件) {
    // 処理
} else {
    // 処理
}

// 式として使う場合(値を返します)。
val 変数 = if (条件) 値A else 値B
構文一覧
構文概要
if (条件)条件が true のときブロック内を実行します。
else if (条件)直前の条件が false のとき、追加の条件を評価します。
elseすべての条件が false のときに実行されるブロックです。
if 式ブロックの最後の式が値として返されます。三項演算子の代わりに使います。
サンプルコード
fun main() {
    val score = 75

    // 基本的な if / else if / else です。
    if (score >= 90) {
        println("優秀です。")
    } else if (score >= 60) {
        println("合格です。") // 『合格です。』と出力されます。
    } else {
        println("不合格です。")
    }

    // if 式として変数に代入します(三項演算子の代わり)。
    val result = if (score >= 60) "合格" else "不合格"
    println(result) // 『合格』と出力されます。

    // ブロックを使う場合、最後の式が値になります。
    val grade = if (score >= 90) {
        println("優秀!")
        "A"
    } else if (score >= 70) {
        println("良好!")  // 『良好!』と出力されます。
        "B"
    } else {
        "C"
    }
    println(grade) // 『B』と出力されます。

    // 関数の return でも if 式が使えます。
    val x = 10
    val abs = if (x >= 0) x else -x
    println("絶対値: $abs") // 『絶対値: 10』と出力されます。

    // null チェックにも使えます。
    val name: String? = "Kotlin"
    val greeting = if (name != null) "こんにちは、$name" else "名前がありません"
    println(greeting) // 『こんにちは、Kotlin』と出力されます。
}
概要

Kotlin には Java の三項演算子(『? :』)がありません。その代わりに『if』を式として使うことで同じ処理を書けます。式として使う場合は必ず『else』ブランチが必要です。『else』がないと値を確定できないためコンパイルエラーになります。

複数条件の分岐には『when 式』が適しています。Nullable 型との組み合わせには『?: エルビス演算子』も便利です。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。