if
基本的な使い方
    Kotlinでは、ifは式として機能しています。
    つまり、ifが値を返して、その値をそのまま変数に代入したりできるということです。
    もちろん、通常の条件分岐としても利用できます。
fun main(args: Array) {
    // 通常の使い方
    val num = 10
    if ((num % 2) == 0) {
        println("偶数です")
    } else {
        println("奇数です")
    }
    // 式としての使い方
    val num2 = 5
    val str = if ((num2 % 2) == 0) "偶数です" else "奇数です"
    println(str)
}  偶数です
奇数です リターンされる値
ifでリターンされる値は、実行されたブロックの一番最後の式の値になります。
fun main(args: Array) {
    testIf(-100)
    testIf(50)
    testIf(1)
}
fun testIf(num: Int) {
    val ifReturn = if (num < 0) {
        println("Run (num < 0) block.")
        num * 2
    } else if ((num % 2) == 0) {
        println("Run ((num % 2) == 0) block.")
        "偶数です"
    } else {
        println("Run else block.")
        1234.5678
    }
    println("if expression return is ${ifReturn}.")
}  Run (num < 0) block.
if expression return is -200.
Run ((num % 2) == 0) block.
if expression return is 偶数です.
Run else block.
if expression return is 1234.5678. when
基本的な使い方
    whenはJavaやC言語でいうとswitchのようなものです。
    ifと同じように式として機能し、値を返すことができます。
    
    switchのdefaultに相当するものが、whenにもelseという形であります。
fun main(args: Array) {
    val num = 4
    // 通常の条件分岐として利用
    when (num) {
        1 -> println("num is 1.")
        2 -> println("num is 2")
        3 -> println("num is 3.")
        4 -> {
            // 処理をブロックで記述することも、もちろん可能です。
            println("num is 4.")
        }
        else -> {
            println("num is something else.")
        }
    }
    // 値を返す式として利用
    val ret = when (num) {
        1 -> {
            println("num is 1.")
            123
        }
        2 -> {
            println("num is 2.")
            "456"
        }
        3 -> {
            println("num is  3.")
            123.456
        }
        else -> {
            println("num is something else")
            null
        }
    }
    println("ret is ${ret}.")
}  num is 4.
num is something else
ret is null. さまざまな条件設定
    whenでは、かなり柔軟な分岐の条件設定ができます。
    例えば、カンマで区切って複数の条件を並べたり、定数ではなく式を条件にすることもできます。
fun main(args: Array) {
    val str = "100"
    val num = 100.0
    str.isEmpty()
    when (str) {
        "cat", "dog", "bird" -> println("animal")
        num.toString() -> println("100.0")
        is String -> println("String")
        else -> println("else.")
    }
}  String