JavaBasic-04(Operators)
연산자 (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으로 채운다.