For Programmer

7.(2) 코틀린 조건문 - when 본문

Programming language/Kotlin

7.(2) 코틀린 조건문 - when

유지광이 2021. 8. 23. 21:59
728x90

When은 java에서의 switch문과 비슷하다.

 var value = 3

    when(value){
        1 -> {
            println("value is 1")
        }
        2 -> {
            println("value is 2")
        }
        3 -> {
            println("value is 3")
        }
        else -> {
            println("value is else")
        }
    }
    
    // value is 3 출력
 val value3: Int? = null

    when(value3){
        null -> println("value is null")
        else -> println("value is not null")
    }
	// value is null 출력
    
    val value4: Boolean? = null

    when(value4){
        true -> {
            println("value4 is true")
        }
        false -> {
            println("value4 is false")
        }
        null -> {
            println("value4 is null")
        }
    }
    //value is null 출력

값을 반환하여 변수에 해당 값을 대입할 때 사용하는 when

value = 5
    val value2 = when(value){
        1->10
        2->20
        3->30
        else->100
    }
    print(value2) // 100출력

단, 값을 대입할 때는 반드시 값을 반환할 수 있도록 조건을 설정 해야 한다.

 val value5 = when(value4){
        true -> 1
        false ->2
        null -> 3 //else도 가능 단,해당 조건식을 삭제할 경우 오류 발생(반드시 값을 반환해야하기 때문)
    }

    println(value5) // 3출력

when문 안에서 사용할 수 있는 다양한 조건식(in,is)

//when의 다양한 조건식
    val value6: Int = 10
    when(value6){
        is Int -> { //value6가 Int인가?
            println("value4 is Int")
        }else -> {
            println("value is not Int")
        }
    } 
    // value4 is Int 출력

    // when의 다양한 조건식(2)
    val value7 : Int = 70
    when(value7){
        in 60..70 -> {
            println("value7 is 60-70")
        }
        in 71..80 -> {
            println("value7 is 70-80")
        }
        in 81..90 -> {
            println("value7 is 80-90")
        }
    }
    //value7 is 60-70 출력
728x90

'Programming language > Kotlin' 카테고리의 다른 글

9. 코틀린 - Collection함수 (List,Set,Map)  (0) 2021.08.24
8. 코틀린 - 배열  (0) 2021.08.24
7.(1) 코틀린 - 조건문 - if문  (0) 2021.08.23
6. 코틀린 - 연산자  (0) 2021.08.23
5. 코틀린 - 메소드  (0) 2021.08.23
Comments