when
//형식
when(value){
value의 값1 -> 실행할 코드1.
value의 값2 -> 실행할 코드2.
...
else -> 이외일 때 코드
}
- Java에서 "Switch"와 비슷한 형태
- value에 해당하는 코드를 실행.
- 동일한 값이 존재하지 않으면 else을 실행, Switch의 Default와 비슷하다.
- break문 사용 X
fun main(args: Array<String>) {
var str = "Test"
test(str)
str = "Fail"
test(str)
str = "etc"
test(str)
}
fun test(a : String){
when(a){
"Test"-> println("Test 입니다.")
"Fail"-> println("Fail 입니다.")
else -> println("예외랍니당")
}
}
결과
Java의 Switch와 차이점
아래는 Java코드로 Switch문을 사용하였을 때
public class JavaTest {
public static void main(String[] args) {
int num = 3;
switch(num){
case 1 : System.out.println("Case : 1 발동");
case 2 : System.out.println("Case : 2 발동");
case 3 : System.out.println("Case : 3 발동");
case 4 : System.out.println("Case : 4 발동");
default: System.out.println("Default 발동");
}
}
}
Switch문은 해당 케이스로 이동하는 Goto문과 비슷한 형태입니다.
위에 코드는 case 3으로 이동한 뒤에 다음 break문을 사용하지 않았다면 그 이후에 case들도 실행된다.
when문은 break문을 따로 사용하지 않아도 해당 값에 대한 코드만 실행한 뒤에 종료됩니다.
'Kotlin' 카테고리의 다른 글
[Kotlin] Map (2) | 2022.09.19 |
---|---|
[Kotlin] val, var 관하여 (0) | 2022.06.22 |
댓글