본문 바로가기

Kotlin

3) 조건식

코틀린 조건식의 특징은 기존 자바에선 If, when문이 자바에서는 Statement, 단순 명령문으로만 사용됬다면

코틀린에서는 어떠한 값을 만드는 표현식인 Expression으로 사용될 있다는 것이다.

( 사실 코틀린에서 모든 함수는 Expression이다. (Unit타입을 리턴하기 때문))

 

if

fun maxBy(a2:Int b2:Int):Int {
	if(a2>b2){ // 명령문으로서만 사용되고 있는 if문
    	return a2
    } else {
    	return b2
    }
}

그러나 이렇게 값을 도출하는 Expression으로서 쓰일 수 있다.

fun maxBy2(a2:Int, b2:Int) = if(a2>b2) a2 else b2

 

when

fun checkNum(score:Int){
	when(score){ // when 이 단순 Statement로만 쓰이고 있다.
    	0 -> println("this is 0")
        1 -> println("this is 1")
        2, 3 -> println("this is 2 or 3")
        else -> println("I don't know")
    }
    
    var b = when(score) { // when 이 값을 도출하는 Expression으로서 쓰이고있다.
    	1 -> 1
        2 -> 2
        else -> 3
    }
    
}

코틀린에서는 when문의 조건을 이렇게 범위로도 줄 수 있다

when(score){
	in 90..100 -> println("You are genius") // 90점에서 100점 사이
      in 10..80 -> println("not bad")
      else -> println("okay")
}

 

'Kotlin' 카테고리의 다른 글

6) Nullable 과 NonNull  (0) 2021.07.19
5) 반복문  (0) 2021.07.16
4) Array and List  (0) 2021.07.15
2) val vs var 과 String Template  (0) 2021.07.13
1) 함수와 접근제한자  (0) 2021.07.13