카테고리 없음

[Kotlin 2-2] 연산자

연나연 2023. 12. 28. 15:03

일부를 제외한 대부분의 특수 문자를 연산자로 사용한다.

주어진 값을 정해진 방식에 따라 계산하고 그 값을 되돌려준다.

Kotlin은 연산자와 함수 두 가지를 제공한다.

1. 단항 연산자
2. 증감 연산자
3. 산술 연산자
4. 대입 연산자
5. 비교 연산자

 

연산자 우선순위

최우선 연산자

▶( ) : 수학과 같이 가장 먼저 계산할 부분이 있다면 ( ) 로 묶어 준다.
var a1:Int = 10 + 2 * 4
    var a2:Int = (10 + 2) * 4
    println("a1 :  $a1")
    println("a2 :  $a2")​
출력결과
단항 연산자

▶연산에 참여하는 값이 하나인 연산자
▶!(not) : true를 false로 false를 true로 바꿔준다.
▶조건식의 결과를 반대로 부정하고 싶을 때 사용한다.
var a3 = true
    var a4 = !a3
    var a5 = !a4
    println("a4 : $a4")
    println("a5 : $a5")​
출력결과
부호 연산자

▶ + : 그대로, - : 양수를 음수로, 음수를 양수로
    var a6 = 100
    var a7 = +a6
    var a8 = -a6
    println("a7 : $a7")
    println("a8 : $a8")​
출력결과
증감 연산자

▶변수가 가지고 있는 값을 1 증가하거나 1 감소한다.
▶변수 앞에 있는 것과 뒤에 있는 것이 조금 다르다.
   var a9 = 100
    a9++
    println("a9: $a9")

    var a10 = 100
    a10 = a10 + 1
    println("a10: $a10")

    ++a9
    println("a9: $a9")

    a9--
    println("a9 : $a9")

    --a9
    println("a9 : $a9")

출력결과
증감연산자가 앞에 있는 경우
▶최우선 연산자를 제외한 모든 연산자들 보다 먼저 수행된다.
    var a13 = ++a11
    var a14 = --a12

    println("a11: {$a11}, a13: {$a13}")
    println("a12: {$a12}, a14: {$a14}")​


증감연산자가 뒤에 있는 경우
▶모든 연산자들 보다 가장 마지막에 수행된다.
    a11 = 10
    a12 = 10

    a13 = a11++
    a14 = a12--
    println("a11 : ${a11}, a13 : $a13")
    println("a12 : ${a12}, a14 : $a14")​
산술 연산자

▶곱하기, 나누기, 나머지 연산자가 더하기, 빼기 보다 먼저 수행된다.
    // (더하기)
    var b1 = 10 + 3
    // (빼기)
    var b2 = 10 - 3
    // (곱하기)
    var b3 = 10 * 3
    // (나누기)
    var b4 = 10 / 3
    // (나머지)
    var b5 = 10 % 3

    println("b1: $b1")
    println("b2: $b2")
    println("b3: $b3")
    println("b4: $b4")
    println("b5: $b5")​

 

관계 연산자

▶두 값의 관계를 보고 true나 false를 결과로 준다.
▶좌측의 값이 우측의 값보다 작은가
    // 좌측의 값이 우측의 값보다 작은가
    var b6 = 10 < 3
    var b7 = 10 < 20
    println("b6: $b6")
    println("b7: $b7")

    // 좌측의 값이 우측의 값보다 작거나 같은가
    b6 = 10 <= 3
    b7 = 10 <= 20
    var b8 = 10 <= 10
    println("b6 : $b6")
    println("b7 : $b7")
    println("b8 : $b8")

// 좌측의 값과 우측의 값이 같은가
    b6 = 10 == 20
    b7 = 10 == 10
    println("b6 : $b6")
    println("b7 : $b7")
논리 연산자

▶좌측과 우측의 값이 true와 false인 수식에서 연산을 하는 연산자
▶논리 연산자 좌측과 우측에는 관계 연산자를 사용하는 연산식이 들어가는 것이 일반적이다.

▼ && : 좌우의 수식의 결과가 모두 true인 경우는 결과가 true이고 하나라도 false라면 결과는 false가 된다.
-주어진 모든 조건에 만족하는 경우인지 확인할 때 사용한다.
    var c1 = 10 > 2 && 10 < 20
    var c2 = 10 < 2 && 10 < 20
    var c3 = 10 > 2 && 10 > 20
    var c4 = 10 < 2 && 10 > 20
    println("c1 : $c1")
    println("c2 : $c2")
    println("c3 : $c3")
    println("c4 : $c4")​

▼ ||(or) : 좌우의 수식의 결과가 모두 false인 경우는 결과가 false이고 하나라도 true라면 결과는 true가 된다.
-주어진 조건들 중에 하나라도 만족하는지 확인할 때 사용한다.
    c1 = 10 > 2 || 10 < 20
    c2 = 10 < 2 || 10 < 20
    c3 = 10 > 2 || 10 > 20
    c4 = 10 < 2 || 10 > 20
    println("c1 : $c1")
    println("c2 : $c2")
    println("c3 : $c3")
    println("c4 : $c4")​

배정 대입 연산자

▶++, -- (증감연산자)는 변수의 값을 1 증가하거나 1 감소하는 역할을 수행한다.
▶만약 증가 감소가 아닌 다른 연산을 하거나 1이 아닌 연산에 참여할 값을 직접 지정하고자 한다면// 배정 대입 연산자를 사용한다.
▶산술 연산자와 같이 사용하는 경우가 많다.
    var d1 = 10
    var d2 = 10

    d1 = d1 + 10
    d2 += 10
    println("d1: $d1")
    println("d2: $d2")​