[JAVA]연산자

Date:     Updated:

카테고리:

태그:

[6] 연산자

6.1. 항과 연산자

  • 항(Operand) : 연산에 사용되는 값
  • 연산자(Operator) : 항을 이용하여 연산하는 기호

6.2. 산술 연산자

  • 사칙연산을 다루는 가장 기본적인 연산자
    • 두 개의 피연산자를 가짐(= 이항 연산자)
    • 왼쪽에서 오른쪽으로 진행
  • 산술 연산자의 종류

    연산자 설명 형태
    + 왼쪽 피연산자에 오른쪽 피연산자를 더함 a + b
    - 왼쪽 피연산자에서 오른쪽 피연산자를 뺌 a - b
    * 왼쪽 피연산자에 오른쪽 피연산자를 곱함 a * b
    / 왼쪽 피연산자를 오른쪽 피연산자로 나눔 a / b
    % 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 나머지 반환 a % b

6.3. 대입 연산자 (Assignment Operator)

=
  • 변수에 다른 변수나 값을 대입하는 연산자
  • 이항 연산자 중 우선 순위가 가장 낮은 연산자
  • 왼쪽 변수 = 오른쪽 변수(또는 식, 값)

6.4. 복합 대입 연산자

  • 장점 : 코드의 간결화
  • 대입 연산자와 다른 연산자를 조합해 사용
  • 복합 대입 연산자의 종류

    연산자 설명 형태
    += 왼쪽 피연산자에 오른쪽 피연산자를 더한 후, 결괏값을 다시 왼쪽 피연산자에 대입 a += b
    -= 왼쪽 피연산자에서 오른쪽 피연산자를 뺀 후, 결괏값을 왼쪽 피연산자에 대입 a -= b
    *= 왼쪽 피연산자에 오른쪽 피연산자를 곱한 후, 결괏값을 왼쪽 피연산자에 대입 a *= b
    /= 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 결괏값을 왼쪽 피연산자에 대입 a /= b
    %= 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 나머지를 왼쪽 피연산자에 대입 a %= b
    &= 왼쪽 피연산자를 오른쪽 피연산자와 비트 AND 연산한 후, 결괏값을 왼쪽 피연산자에 대입 a &= b
    |= 왼쪽 피연산자를 오른쪽 피연산자와 비트 OR 연산한 후, 결괏값을 왼쪽 피연산자에 대입 a |= b
    ^= 왼쪽 피연산자를 오른쪽 피연산자와 비트 XOR 연산한 후, 결괏값을 왼쪽 피연산자에 대입 a ^= b
    «= 왼쪽 피연산자를 오른쪽 피연산자만큼 왼쪽 시프트한 후, 결괏값을 왼쪽 피연산자에 대입 a «= b
    »= 왼쪽 피연산자를 오른쪽 피연산자만큼 부호를 유지하며 오른쪽 시프트한 후, 결괏값을 왼쪽 피연산자에 대입 a »= b
    »>= 왼쪽 피연산자를 오른쪽 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 결괏값을 왼쪽 피연산자에 대입 a »>= b

6.5. 증감 (증가, 감소) 연산자

  • 단항 연산자

    연산자 설명
    + 부호 유지 (의미X)
    - 부호 반전
    ++ 항의 값에 1을 더함
    항의 값에서 1을 뺌
  • 변수의 값을 1 더하거나 1 뺄때 사용
  • 연산자가 항의 앞에 있는가 뒤에 있는가에 따라 결과가 달라짐

    형태 예시 설명
    val = ++x; 먼저 x값이 1 증가한 후 val 변수에 대입
    val = x++; val 변수에 기존 x값을 먼저 대입한 후 x값 1 증가
    val = –x; 먼저 x값이 1 감소한 후 val 변수에 대입
    val = x–; val 변수에 기존 x값을 먼저 대입한 후 x값 1 감소

6.6. 관계 연산자(비교 연산자)

  • 이항 연산자
  • 연산 결과에 따라 true(참) 또는 false(거짓)을 반환
  • 조건문과 반복문의 조건식에서 주로 사용

    연산자 설명
    == 왼쪽 피연산자와 오른쪽 피연산자가 같으면 참을 반환
    != 왼쪽 피연산자와 오른쪽 피연산자가 같지 않으면 참을 반환
    > 왼쪽 피연산자가 오른쪽 피연산자보다 크면 참을 반환
    >= 왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 참을 반환
    < 왼쪽 피연산자가 오른쪽 피연산자보다 작으면 참을 반환함
    <= 왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같으면 참을 반환

6.7. 논리 연산자

  • 연산 결과를 true 또는 false로 반환
  • 두 명제가 모두 참이면 논리곱은 참. 두 명제 중 하나라도 참이면 논리함은 참. 참의 부정은 거짓, 거짓의 부정은 참.

    연산자 설명
    && 논리식이 모두 참이면 참 반환 (논리 AND 연산)
    || 논리식이 하나라도 참이면 참 반환 (논리 OR 연산)
    ! 논리식 결과가 참이면 거짓, 거짓이면 참 반환 (논리 NOT 연산)
  • 진리표(Truth Table)

    A B A && B A ||B !A
    true true true true false
    true false false true false
    false true false true true
    false false false false true
  • SCE (Short Circuit Evaluation)
    • 최단 거리 평가
    • 연산 효율 및 속도 향상을 위해 불필요한 연산은 수행하지 않는 기능
      • 논리곱 : 앞쪽 논리식이 거짓이면 뒤쪽 계산 미수행
      • 논리합 : 앞쪽 논리식이 참이면 뒤쪽 계산 미수행
      • 논리 연산의 모든 항이 실행되지 않는 경우

6.8. 조건 연산자

  • 삼항 연산자
      조건식 ? 결과1 : 결과2
    
    • 조건식이 참이면 결과1, 조건식이 거짓이면 결과2 반환
  • 조건문을 간략하게 표현하는 용도로도 사용 가능

6.9. 단항, 이항, 삼항 연산자 ?

6.10. 연산자 우선순위 ?

JAVA 카테고리 내 다른 글 보러가기

댓글 남기기