본문 바로가기
Kotlin

[Kotlin] when

by 열정적인 이찬형 2022. 6. 22.

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

댓글