English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
この記事では、さまざまな例を通じてKotlinでのwhen表現を学びます。
Kotlinのwhen式はと考えられます。Kotlinのwhen式は
fun main(args: Array<String>) { val a = 12 上記の例では、whenを式として使用しています。しかし、whenを式として使用することは強制ではありません。例えば、 5 val b = +> println("nは0 -> println("nは0 * 入力演算子 /println("入力演算子 ) の代わりに。多くの代替案の中から一段のコードを評価します。 "+" -例:シンプルなwhen式 + val result = when (operator) { "-" -例:シンプルなwhen式 - val result = when (operator) { "*" -例:シンプルなwhen式 * val result = when (operator) { "/" -例:シンプルなwhen式 / val result = when (operator) { b} -> a } b }
> println("$operator is invalid")
プログラムを実行するとき、以下のようになります: +> println("nは0 -> println("nは0 * 入力演算子 / * > "$operator 演算子は無効な演算子です。" 60
println("result = $result")result =のプログラムからユーザーからの入力文字列を取得(推薦:*Kotlinでユーザーから文字列入力を取得 * )。ユーザーが
bを評価し、値を変数resultに割り当てます。+、条件に一致しない枝(ユーザー入力が-、条件に一致しない枝(ユーザー入力が*、/または
以外のすべてのオプション(),else枝が評価されます。
fun main(args: Array<String>) { val a = 12 上記の例では、whenを式として使用しています。しかし、whenを式として使用することは強制ではありません。例えば、 5 val b = +> println("nは0 -> println("nは0 * 入力演算子 /println("入力演算子 ) val operator = readLine() "+" -when (operator) { + > println("$a + $b = ${a} "-" -when (operator) { - > println("$a - $b = ${a} "*" -when (operator) { * > println("$a * $b = ${a} "/" -when (operator) { / > println("$a / $b = ${a} b} -else } }
> println("$operator is invalid")
プログラムを実行するとき、以下のようになります: +> println("nは0 -> println("nは0 * 入力演算子 / - 12 - 5 または 7
=
fun main(args: Array<String>) { 値の2つ以上を、カンマで結合します。 -1 when (n) { 1> println("nは0 2> println("nは0 3 -val n = 4> println("nは負の整数で 0 -> println("nは正の整数で -1> println("nは0 -2 -, -3> println("nは負の整数で } }
このプログラムを実行すると、出力される内容は以下の通りです:
. -3nは負の整数で
fun main(args: Array<String>) { val a = 100 範囲内の値を確認します。 の正数。 1in10 -when (a) {11> println("Aは の正数。 10in100 -..10および100(含む)10および10> println("0と } }
このプログラムを実行すると、出力される内容は以下の通りです:
0)の間の正数10および100(含む)10および100)の間の正数
要在運行時値が特定の型であるかを確認するには、is と!is 演算子を使用できます。例えば、
when (x) { is Int -> print(x + 1) is String -> print(x.length + 1) is IntArray -> print(x.sum()) }
fun main(args: Array<String>) { val a = 11 val n = "11" when (n) { "cat" -> println("Cat? 本当に?") 12.toString() -> println("Close だけど十分ではありません。") a.toString() -> println("Bingo! それは 11 です。") } }
このプログラムを実行すると、出力される内容は以下の通りです:
Bingo! それは 11 です。