코틀린(Kotlin)

코틀린(kotlin) : 단항 연산자, 이항연산자, 여러 연산자

알통몬_ 2018. 2. 8. 11:39
반응형


공감 및 댓글은 포스팅 하는데

 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 

도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 

만들어 나가겠습니다^^

 


이번 포스팅에서는 연산자에 대해 공부합니다.


Operator overloading

코틀린은 타입에 대해 미리 정의된 연산자 집합에 대한 구현을 허용합니다.

이 연산자들에는 고정된 기호('+', '*'같은)와 고정된 우선 순위가 있습니다.

그리고 연산자 구현을 위해 고정된 이름의 멤버 메서드나 확장 메서드를

제공합니다. 즉 연산을 원하는 타입.메서드 처럼 사용하면 됩니다.


Unary operations : 단항 연산

Unary prefix operators : 단항 접두사 연산자

변수 a 가 있을 때

표현   =>   변환

+a =>        a.unaryPlus() // 숫자는 양수로 표현

-a  =>        a.unaryMinus() // 숫자는 음수로 표현

!a  =>        a.not() // 부정

예제)

val a = 10
val b = false
println(+a)
println(-a)
println(!b)

실행결과


Increments and decrements 증가와 감소

표현 

a++

++a 

a--  

--a

예제)

var a = 10
var b = 20
println("a = $a / b = $b")
println("a = ${a++} / b = ${b--}")
println("a = ${++a} / b = ${--b}")

실행 결과


Binary operations : 이항 연산자

산술 연산자

a + b

a - b

a * b

a / b

a % b

a..b

예제)

val a = 10
val b = 4
println("a + b = ${a + b}")
println("a - b = ${a - b}")
println("a * b = ${a * b}")
println("a / b = ${a / b}")
println("a % b = ${a % b}")
println("b..a = ${b..a}")

실행 결과


'in' 연산자

 a in b

 a !in b

예제)

val a = listOf(1,2,3,4,5)
val b = 4
val c = 6
println("b in a ==> ${b in a}")
println("c in a ==> ${c !in a}")

실행결과


Indexed access operator

a[i]

a[i, j]

a[i_1, .... , i_n]

a[i] = b

a[i, j] = b

a[i_1, ... , i_n] = b

예제)

val a = arrayListOf(1,2,3,4,5)
println(a[1])
a[0] = 10
println(a[0])

실행결과


Augmented assignments

a += b => a = a + b

a -= b => a = a - b

a *= b => a = a * b

a /= b => a = a / b

a %= b => a = a % b

예제)

var a = 10
val b = 2
a += b
println(a)
a = 10
a -= b
println(a)
a = 10
a *= b
println(a)
a = 10
a /= b
println(a)
a = 10
a %= b
println(a)

실행결과


Equality and inequality operators

a == b

a != b

예제)

val a = 10
val b = 2
println("a == b => ${a == b}")
println("a == b => ${a != b}")

실행결과


comparison operators

a > b

a < b

a >= b

a <= b

예제)

val a = 10
val b = 2
println("a > b => ${a > b}")
println("a < b => ${a < b}")
println("a >= b => ${a >= b}")
println("a <= b => ${a <= b}")

실행결과


이상입니다.

다음 포스팅에서는 Null Safety 에 대해 공부합니다.

감사합니다.

반응형