본문 바로가기
언어/코틀린

[Kotlin] 조건문 When

by 코딩히어로 2022. 6. 13.
728x90

제목


코틀린에서는 When이라는 조건문이 있습니다

When 키워드 다음의 소괄호() 안에 넣은 데이터가 조건이 되며

이 값에 따라 각 구문을 실행하게 됩니다

fun main(){
	var data = 10
	when(data){
    		10 -> println("data = 10")
        	20 -> println("data = 20")
        	else ->{
        		println("data not valid")
        	}
	}
}

위 코드에서 when의 조건으로 data라는 var 변수를 주었고

when 내에 해당하는 값에 따라서 조건이 실행됩니다

 

when은 조건으로 정수형뿐만 아니라 String 등의 다른 타입의 데이터를 지정할 수 있습니다

fun main(){
	var data = "hi"
	when(data){
    		"hi" -> println("data = hi")
        	"hello" -> println("data = hello")
        	else ->{
        		println("data not valid")
        	}
	}
}

위에처럼 String으로 된 조건을 when에 대입한 뒤에

그에 맞는 조건에 따라 구문을 실행할 수 있습니다

 

fun main(){
	var data:Any = 10
	when(data){
    		is String -> println("data is String")
        	20, 30 -> println("data = 20 or 30")
        	in 1..30 -> println("data range 1 ~ 30")
        	else ->{
        		println("data not valid")
        	}
	}
}

위 코드에서 is는 타입을 확인하는 연산자이며 in은 범위 지정 연산자입니다

is String은 데이터 타입이 String이면 참이며 in 1.. 30은 data의 값이 1~30 사이이면 참입니다

 

fun main(){
	var data:Any = 10
	val result = when{
    		is String -> println("data is String")
        	20, 30 -> println("data = 20 or 30")
        	in 1..30 -> println("data range 1 ~ 30")
        	else ->{
        		println("data not valid")
        	}
	}
}

when은 데이터를 명시하지 않고 조건만 명시할 수 있습니다

또한 when문의 실행 결과를 반환받을수 있지만 이럴 경우에 else문은 생략할 수 없습니다

728x90
반응형

'언어 > 코틀린' 카테고리의 다른 글

[Kotlin] 널 안전성이란?  (2) 2022.07.20
[Kotlin] 클래스와 생성자  (6) 2022.06.14
[Kotlin] 함수 선언  (2) 2022.06.13
[Kotlin] 데이터 타입  (2) 2022.06.10
[Kotlin] 변수 선언  (1) 2022.06.10

댓글