[Kotlin] when

델버·2022년 5월 19일
0

Kotlin

목록 보기
5/18

When

  • switch문을 대체한 것이다.
  • switch의 break가 필요가 없다.
var age = 30;

when(age) {
    10 -> println("10입니다")
    20 -> {
        println("20입니다")
        println("20대는 청춘입니다")
    }
    in 30..40 -> println("30대입니다")
    in 50 downTo 41 -> println("4호선입니다")
    51,52,53, in 54..60 -> println("60대입니다")
		!in 10..100 -> println("자라나는 새싹입니다")
		else -> {
				println("맞는 조건이 없습니다")
		}

}
// 30대입니다
  • 조건 → 실행문
  • 조건 → { 실행문1, 실행문2 ... }
  • in 범위시작..범위끝 → 실행문 : in으로 시작하고 범위 사이에 ..을 붙이면 범위지정하여 실행한다
  • in 범위시작 downTo 범위끝 → 실행문 : 큰 값부터 작은 값까지로 거꾸로 범위를 지정한다.
  • 조건1,조건2-> 실행문 : ,를 사용하여 조건을 여러 개로 묶을 수 있다.
  • !in 시작..끝 -> 실행문: 시작부터 끝까지의 이외의 값이면 실행한다.
  • else → {실행문} : switch의 default와 같다. 조건이 모두 맞지 않으면 실행
var gogo : Any = "12.0"

when (gogo) {
    is Int -> println("Int입니다")
    !is Double -> println("Double이 아입니다")
    is String -> println("String입니다")
    else -> println("어떤 것도 아닙니다")
}
// String입니다
  • is Type : Type에 해당되면 실행

  • !is Type : Type에 해당되지 않으면 실행

  • Any : Kotlin에서 Any는 Java에서 Object와 같은 최상위 클래스이다. 하지만 Any는 Object의 super class이다.

0개의 댓글