연산자 (Operators)

연산의 구성

  • 연산자 (Operator), 피연산자 (Operand), 연산식 (Expression)

우선순위 표

  • 우선순위가 같은 경우, 결합 방향 순으로 이루어진다.

    연산자 결합 방향 우선순위
    () 1
    ++ – + - ~ ! (int) 2
    * / % 3
    + - 4
    << >> >>> 5
    > < >= <= instanceof 6
    == != 7
    & 8
    ^ 9
    | 10
    && 11
    || 12
    ?: 13
    = += -= *= /= %= ^= |= <<= >>= >>>= 14

다양한 연산자

산술 연산자 (Arithmatic Operators)

연산자 기능
+ 두 피연산자의 합
- 두 피연산자의 차
* 두 피연산자의 곱
/ 두 피연산자의 나눈 몫
% 두 피연산자의 나눈 나머지(Modulus)
  • 산술 연산자 사용 시 주의점
    • 정수형: 오버플로우
    • 실수형: 정확도
    • /, % : Infinity, NaN

대입 연산자 (Assignment Operators)

연산자 기능
= 우측 피연산자의 값을 좌측 피연산자 변수에 할당
+= 두 피연산자의 합을 좌측 피연산자에 할당
-= 두 피연산자의 차를 좌측 피연산자에 할당
*= 두 피연산자의 곱을 좌측 피연산자에 할당
/= 좌측 피연산자를 우측 피연산자로 나눈 몫을 좌측 피연산자에 할당
%= 좌측 피연산자를 우측 피연산자로 나눈 나머지를 좌측 피연산자에 할당

비교 연산자 (Comparison Operators)

연산자 기능
< 좌측 피연산자가 우측 피연산자보다 작은가?
> 좌측 피연산자가 우측 피연산자보다 큰가?
<= 좌측 피연산자가 우측 피연산자보다 작거나 같은가?
>= 좌측 피연산자가 우측 피연산자보다 크거나 같은가?
== 좌측 피연산자와 우측 피연산자가 같은가?
!= 좌측 피연산자와 우측 피연산자가 다른가?
  • 비교 연산자의 출력은 true 또는 false이다.

논리 연산자 (Logical Operators)

연산자 기능
& AND
| OR
! NOT
^ XOR
Short Circuit 연산자 기능
&& AND
|| OR

증감 연산자 (Increment and Decrement Operators)

연산자 기능
++ (Prefix) 피연산자의 값을 1 증가한 후 연산식 평가
++ (Postfix) 연산식을 평가한 후에 피연산자의 값을 1 증가
– (Prefix) 피연산자의 값을 1 감소시킨 후 연산식 평가
– (Postfix) 연산식을 평가한 후에 피연산자의 값을 1 감소

삼항 연산자 (Ternary Operator)

연산자 기능
? : 첫 피연산자의 값의 true이면 두번째 연산자를, false이면 세번째 연산자를 출력

비트 연산자 (Bitwise Operator)

  • 비트 연산자는 정수형을 피연산자를 대상으로 한다.

  • 논리 비트 연산자

    연산자 기능
    & Bitwise AND
    | Bitwise OR
    ~ Bitwise INV
    ^ Bitwise XOR
  • 이동 비트 연산자 (Shift Operator)

    연산자 기능
    << 좌측 피연산자의 각 비트를 왼쪽으로 우측 피연산자만큼 이동시킨다. 빈자리는 0으로 채운다.
    >> 좌측 피연산자의 각 비트를 우측으로 우측 피연산자만큼 이동시킨다. 빈자리는 Sign Bit로 채운다.
    >>> 좌측 피연산자의 각 비트를 우측으로 우측 피연산자만큼 이동시킨다. 빈자리는 0으로 채운다.