1. 概要

このチュートリアルでは、Kotlinのさまざまなタイプの if-else 式と、それらの使用方法に焦点を当てます。

2. 従来のアプローチ

他のプログラミング言語と同様に、ifおよびif-elseステートメントを条件付きチェック演算子として使用できます。

2.1. Ifステートメント

ifステートメントはコードのブロックを指定し、指定された条件がtrueの場合にのみそれを実行します。 それ以外の場合は、コードのブロックを無視します。

例を見てみましょう:

val number = 15

if (number > 0) {
    return "Positive number"
}
return "Positive number not found"

2.2. If-Elseステートメント

if-elseステートメントに2つのコードブロックが含まれています。 このステートメントは、条件に基づいてさまざまなアクションを実行する必要がある場合に使用します。

条件が真の場合、ifステートメントはコードのブロックを実行します。 それ以外の場合、条件がfalseの場合、elseステートメントはコードのブロックを実行します。

これがどのように機能するかを見てみましょう。

val number = -50

if (number > 0) {
    return "Positive number"
} else {
    return "Negative number"
}

3. Kotlin If-Else

An expression は、別の値を生成するために実行される1つ以上の値、変数、演算子、および関数の組み合わせです。

val number: Int = 25
val result: Int = 50 + number

ここで、 50 + number は、整数値を返す式です。 式の値を変数resultに割り当てることができます。

A ステートメントは、実行するアクションを表現するプログラミング言語の単位です

val result = 50 + 25

ここで、 val result = 50 +25はステートメントです。 このステートメントには、整数値75を返す式 50 +25が含まれています。 したがって、式はステートメントの一部です。

Kotlinで、式として使用できる場合 if を式として使用する場合、コンパイラエラーを回避するために、elseブランチは必須です。

さらに、if-else式の結果を変数に割り当てることができます。

val number = -50

val result = if (number > 0) {
    "Positive number"
} else {
    "Negative number"
}
return result

if-else本体を1つのステートメントのみに置き換える場合、中括弧はオプションです

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

val number = -50
val result = if (number > 0) "Positive number" else "Negative number"

return result

3.1. If-Else複数の式を持つブロック

if-elseブランチは、複数の式を持つブロックを持つことができます。 このような場合、最後の式をブロックの値として返します。

例を見てみましょう:

val x = 24
val y = 73

val result = if (x > y) {
    println("$x is greater than $y")
    x
} else {
    println("$x is less than or equal to $y")
    y
}
return result

4. Kotlin If-ElseIf-Elseラダー式

複数の条件をチェックするためにif-else..if-elseラダー式を使用できます。 これらの条件は上から下に実行されます。

条件が真の場合、対応するif式を実行します。 いずれの条件も当てはまらない場合は、最後のelse式を実行します。

ラダー式の使用方法を見てみましょう。

val number = 60

val result = if (number < 0) {
    "Negative number"
} else if (number in 0..9) {
    "Single digit number"
} else if (number in 10..99) {
    "Double digit number"
} else {
    "Number has more digits"
}
return result

5. Kotlinのネストされた式

ある式が別の式の本体内に存在する場合、それはネストされた式と呼ばれます。

条件が真の場合、対応するブロック内のコードを実行します。 それ以外の場合は、次の一致条件に移動します。

たとえば、if-else式がif式の本体内に存在する場合、それはネストされたif-else式と呼ばれます。

ネストされた式の使用方法を見てみましょう。

val x = 37
val y = 89
val z = 6

val result = if (x > y) {
    if (x > z)
        x
    else
        z
} else {
    if (y > z)
        y
    else
        z
}
return result

6. 結論

この記事では、Kotlinでif-else式を使用するさまざまな方法について説明しました。 さらに、Kotlinでif-else式を使用して簡潔なコードを作成する方法も観察しました。

いつものように、これらの例のコードはGitHubから入手できます。

Kotlinの機能の詳細については、Kotlinチュートリアルのいずれかをご覧ください。