Kotlin 조건문
if문은 조건문으로 연산자 중 비교연산자를 사용합니다.
다음과 같이 사용합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | fun main(args: Array<String>){ var a:Int = 2 var b:Int = 5 if(a<b){ println("b big") } if(a>b){ println("a big") } else{ println("b big") } if(a==b){ println("a,b same") } else if(a > b){ println("a big") } else{ println("b big") } var bigger = if(a>b) a else b println(bigger) val num:Int? = null val num2 = num ?: 10 println(num2) val num3:Int? = 15 val num4 = num3 ?: 10 println(num4) } |
26번 줄을 보시면 C언어 에서는 안되는 방법이 있습니다. 바로 때려 박는다.?라고 해야하나...
이 부분은 충격적이였습니다.
저렇게 표현하는 방법도 있다는 것을 아셨으면 합니다.
29번줄 부터는 엘비스 연산자라고 합니다.
코틀린은 널 세이프(Null safe)한 언어이기 때문에 문법적으로 null에 대해 대응할 수 있도록 지원하고 있습니다.
뭔가 3항 연산자랑 비슷한데 조건식 부분이 무조건 null로 설정된 것 같습니다. num이 null이면 10으로 출력하고 null이 아니라면 num을 출력하도록 합니다.
if문을 사용하는 조건문이 있는데 또 다른 조건문이 있습니다. C언어에서 switch문이죠
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | fun main(args: Array<String>){ var a:Int = 2 when(a){ 1 ->{ println("1") } 2 ->{ println("2") } else ->{ println("no!") } } val result = when(a) { 1 -> 10 2 -> 20 is Int -> println("Int") else -> 0 } println(result) when(a) { is Int -> println("Int") else -> 0 } when(a) { in 0..10 -> { println("0 ~ 10") } else -> 0 } } |
when은 "~ 할때"로 해석합니다. 이처럼 when안에 있는 조건일 때 특 정값을 출력하는 합니다.
when역시 if문 처럼 변수에 값을 넣을 수 있습니다. 그리고 24,28번을 보시면 is, in이 있습니다. is 는 자료형을 확인할 수 있는 방법이고 in은 값이 특정 범위에 있는지를 판단하는 방법입니다. 이 부분은 신선했습니다. C언어에서는 비교연산자에 논리연산자에 if문에 써서 나누고 했는데 말이죠...(물론 간단하게 하는 법도 있습니다.)
댓글
댓글 쓰기