package com.rodunstudio.kotlinbasic.Example
fun main(args: Array<String>)
{
// 1. When 사용법
var value: Int? = 3
when( value )
{
1 -> println("value는 1이다.")
2 -> println("value는 2이다.")
3 -> println("value는 3이다.")
else ->
{
println("값을 알수없다.")
value = null
}
}
// 2. When의 반환값
val value2 = when(value)
{
1 -> 11
2 -> 22
3 -> 33
else -> null
}
// 2-1. 값을 return하는 when은 모든 경우의 수에도 값을 return하도록 구성해야 한다.
var BooleanCheck: Boolean? = null
val result1: Int = when(BooleanCheck)
{
true -> 2
false -> 3
null -> 0 // 위의 Boolean변수가 null을 포함하도록 선언 되었기 때문에 추가
}
// 3. 중복 조건(x, y, z)과 범위 설정 (in x..y)
val value3 = when(value)
{
1, 11, 21 -> 11 // 중복 조건은 ,(콤마)로 설정 가능
in 4..40 -> 44 // 범위 설정 ( 4 <= x <= 40 )을 뜻함
else -> null
}
// 4. Any Type: 어떤 Type으로도 변할 수 있는 Type
// 4-1. is 구문: 변수의 Type을 묻는 구문
val value4: Any? = null
when (value4)
{
is Int -> 20
is Float -> 5.5f
is Double -> 10.55
is Boolean -> true
else -> println("Type을 알수없다.")
}
println(value4)
}