English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin if 表現

この記事では、例を用いてKotlinでif文の使用方法を学びます。

if ... elseの伝統的な使い方

if ... elseの文法は:

if (testExpression) {}}
   //testExpressionがtrueの場合、コードを実行します
}
else {
  //testExpressionがfalseの場合、コードを実行します
}

testExpressionの計算結果がtrueの場合、ifは特定の部分のコードを実行します。else子句が任意です。testExpressionがfalseの場合、else子句のコードを実行します。

例:if ... elseの伝統的な用法

fun main(args: Array<String>) {
    val number = -10
    if (number > 0) {
        print("正数")
    } else {
        print("負数")
    }
}

プログラムを実行するとき、出力は以下のようになります:

負数

Kotlinのif式

Java(および他の多くのプログラミング言語)とは異なり、Kotlinではifが式として使用できます;それが値を返します。おすすめの読書: Kotlin 表現

これは例です:

例:Kotlinのif式

fun main(args: Array<String>) {
    val number = -10
    val result = if (number > 0) {
        「正数」
    } else {
        「負数」
    }
    println(result)
}

プログラムを実行するとき、出力は以下のようになります:

負数

ifを式として使用する場合、else枝は必須です。

ifの主体が一つの式しかない場合、大括弧は任意です。例えば、

fun main(args: Array<String>) {
    val number = -10
    val result = if (number > 0) "正数" else "負数"
    println(result)
}

これは似ていますJavaの三項演算子したがって、Kotlinには三項演算子はありません。

例:ifブロックに複数の式があります

ifの枝分かれブロックに複数の式が含まれている場合、そのブロックの値として最後の式が返されます。

fun main(args: Array<String>) {
    val a = -9
    val b = -11
    val max = if (a > b) {
        println("$a は $b よりも大きい.")
        println("max変数はaの値を保存します.")
        a
    } else {
        println("$b は $a よりも大きい.")
        println("max変数はbの値を保存します.")
        b
    }
    println("max = $max")
}

プログラムを実行するとき、出力は以下のようになります:

-9 大きい -11.
max変数はaの値を保存します。
max = -9

Kotlinのif..else..if 階段

Kotlinの多くのブロックでコードブロックを返すために、if..else...if 階段を使用できます。

例えば:if ... else ... if 階段

fun main(args: Array<String>) {
    val number = 0
    val result = if (number > 0)
        「正数」
    else if (number < 0)
        「負数」
    else 
        「零」
    
    println("数字は$resultです")
}

このプログラムは、numberが正数、負数、それとも零かどうかをチェックします。

Kotlin ネストされたif表現

一つの if 表現は、別の if 表現のブロック内に位置することができ、これはネストされた if 表現と呼ばれます。

例:if 表現のネスト

このプログラムは、3つの数字の中で最大の数字を計算します。

fun main(args: Array<String>) {
    val n1 = 3
    val n2 = 5
    val n3 = -2
    val max = if (n1 > n2) {
        if (n1 > n3)
            n1
        else
            n3
    } else {
        if (n2 > n3)
            n2
        else
            n3
    }
    println("max = $max")
}

プログラムを実行するとき、出力は以下のようになります:

max = 5