Kotlin/Kotlin 입문

[Kotlin] 3. 연산자

JoonYong 2024. 9. 30. 09:20

1. 연산자

  • 주어진 식을 계산하여 결과를 얻어내는 과정을 연산이라고 합니다.
  • 연산을 수행하는 기호를 연산자라고 합니다.
  • 코틀린(Kotlin)에서 제공하는 연산자 중에 산술 연산자, 복합 대입 연산자, 증감 연산자, 비교 연산자, 논리 연산자 에 대해서 알아봅니다.

2. 산술 연산자

  • + : 더하기
  • - : 빼기
  • * : 곱하기
  • / : 나누기
  • % : 나누고 남은 나머지 값
fun main() {
    val a: Int = 3
    val b: Int = 2
    println(a + b) // 5
    println(a - b) // 1
    println(a * b) // 6
    println(a / b) // 1
    println(a % b) // 1
}

3. 복합 대입 연산자

연산하여 왼쪽 변수에 할당합니다.

  • +=
  • =
  • =
  • /=
  • %=
fun main() {
    var a: Int = 11
    a += 3 // a = a + 3
    a -= 3 // a = a - 3
    a *= 3 // a = a * 3
    a /= 3 // a = a / 3
    a %= 3 // a = a % 3
}

4. 증감 연산자

  • ++ : 1씩 증가
  • - : 1씩 감소
fun main() {
    var value: Int = 10

    value++
    println("value=$value") // 11
    value--
    println("value=$value") // 10
}

5. 비교 연산자

두 값을 비교하는 데 사용합니다.

  • < : 오른쪽 값이 크면 true, 아니면 false
  • <= : 오른쪽 값이 크거나 같으면 true, 아니면 false
  • > : 왼쪽 값이 크면 true, 아니면 false
  • >= : 왼쪽 값이 크거나 같으면 true, 아니면 false
  • == : 두 값이 같으면 true, 아니면 false
  • != : 두 값이 같지 않으면 true, 아니면 false
fun main() {
    val a: Int = 3
    val b: Int = 3

    println(a < b) // false
    println(a <= b) // true
    println(a > b) // false
    println(a >= b) // true
    println(a == b) // true
    println(a != b) // false
}

6. 논리 연산자

  • || : OR 연산자
    • 두 항 중 하나라도 true 이면 true, 아니면 false
  • && : AND 연산자
    • 두 항 모두 true 이면 true, 아니면 false
  • ! : NOT 연산자
fun main() {
    // ||
    println(true || true) // true
    println(true || false) // true
    println(false || true) // true
    println(false || false) // false

    // &&
    println(true && true) // true
    println(true && false) // false
    println(false && true) // false
    println(false && false) // false

    // !
    println(!true) // false
    println(!false) // true

    // 활용
    val trueValue: Boolean = true
    val falseValue: Boolean = false
    println(trueValue || falseValue)
    println(trueValue && falseValue)
    println(!trueValue)
}