Kotlinのwhen文をです。
whenはJavaでいうところのswitch文ですが、
switchよりもできることが多いです。
使用例を見ていきましょう
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  | 
						fun main(args: Array<String>) {     // when     var x: Int = 100     when (x) {         7 -> print("x is 7")         // ","により続けて指定できる         1,2 -> print("x is 1 or 2")         // 複数処理を実行したい場合は{}で囲む         10 -> {             print("x is 10")             print(".");         }         // defaultはelseで         else -> {             // (1)xに値を代入することができる             0         }     }     print(x) }  | 
					
switch文よりもかなり柔軟になっていることがわかりますが、
(1)のようにwhenで指定した変数にに対して値を代入することもできます。
ここでの実行結果は、0と表示されることになります。
さらにwhen式では、関数で評価される値なども条件分岐に使用することが可能になります。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  | 
						fun main(args: Array<String>) {     // when     var x: Int = 100     when (x) {         // inによる範囲指定も可能         in 1..99 -> print("1 to 99")         // 関数による評価         isOver100() -> print(x)     }     // 100     print(x) } fun isOver100() : Int{     return 100 }  | 
					
if elseで実装されるような複数存在する条件分岐でもwhenを使用することができます。
| 
					 1 2 3 4 5 6 7 8 9 10 11  | 
						fun main(args: Array<String>) {     var point: Int = 20000     val y = when {         // 大なり小なりによる条件分岐         point >= 100000 -> "Grand Master"         point >= 50000 -> "Master"         point >= 10000 -> "Challenger"         else -> "Beginner"     }     print(y) }  |