반응형
1. 연산자(Operator)란?
연산자(Operator) : 어떠한 기능을 수행하는 기호 (+,-,*,/, ...)
피연산자(Operand) : 연산자의 작업 대상 (변수, 상수, 리터럴, 수식)
2. 연산자의 종류
- 단항 연산자 : +, -, (타입), ++, --, ~, !
- 이항 연산자
- 산술 : +, -, *, /, %, <<, >>, >>>
- 비교 : >, <, >=, <=, ==, !=
- 논리 : &&, ||, &, ^, |
- 삼항 연산자 : 조건 ? a : b
- 대입 연산자 : =, op=
(op= : +=, -=, *=, /=, %=)
3. 연산자의 우선순위
종류 | 연산방향 | 연산자 | 우선순위 |
단항 연산자 | ⬅️ | ++ -- + - ~ ! (타입) | 높음 |
산술 연산자 | ➡️ | * / % | |
➡️ | + - | ||
➡️ | << >> >>> | ||
비교 연산자 | ➡️ | < > <= >= instanceof | |
➡️ | == != | ||
논리연산자 | ➡️ | & | |
➡️ | ^ | ||
➡️ | | | ||
➡️ | && | ||
➡️ | || | ||
삼항 연산자 | ➡️ | ? : | |
대입 연산자 | ⬅️ | = *= /= %= += -= <<= >>= >>>= &= ^= |= | 낮음 |
- 괄호의 우선순위가 제일 높다.
- 산술 > 비교 > 논리 > 대입
- 단항 > 이항 > 삼항
- 연산자의 연산 진행방향은 왼쪽에서 오른쪽이다.
단, 단항, 대입 연산자만 오른쪽에서 왼쪽이다. - 주의
- <<, >>, >>>는 덧셈 연산자보다 우선순위가 낮다.
ex) x << 2+1 = x << (2+1) - ||, | 는 &&,& 보다 우선순위가 낮다.
ex) x < -1 || x > 3 && x < 5 = x < -1 || (x > 3 && x < 5)
- <<, >>, >>>는 덧셈 연산자보다 우선순위가 낮다.
4. 증감 연산자 ++, --
증감 연산자(++) : 피연산자의 값을 1 증가시킨다.
감소 연산자(--) : 피연산자의 값을 1 감소시킨다.
전위형 : 값이 참조되기 전에 증가시킨다. // j=++i; > ++i; j=i;
후위형 : 값이 참조된 후에 증가시킨다. // j=i++; > j=i; i++;
5. 부호 연산자(+,-)와 논리부정연산자(!)
부호 연산자(+,-)
+ : 피연산자 * 1
- : 피연산자 + -1
논리부정 연산자(!) : true > false, false > true일 때만 사용 가능
6. 비트전환 연산자 ~
정수를 2진수로 표현했을 때, 1을 0으로 0을 1로 바꾼다.
정수형에만 사용 가능
2진수 | 10진수 |
0 0 0 0 1 0 1 0 | 10 |
1 1 1 1 0 1 0 1 | -11 |
1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 |
-11 +) 1 |
1 1 1 1 0 1 1 0 | -10 |
반응형
'스터디 > 자바' 카테고리의 다른 글
[Java] 자바 : 2. 연산자 2 (0) | 2024.01.09 |
---|---|
[Java] 자바 : 1. 변수 2 (1) | 2024.01.04 |
[Java] 자바 : 1. 변수 1 (1) | 2024.01.03 |
[Java] 자바 : 개요 (0) | 2024.01.02 |