코틀린 조건식의 특징은 기존 자바에선 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 |