[자바 기초] 연산자 Operator
2021, Jun 18
연산자
연산자와 피연산자
- 연산자 Operator : 특정한 연산자를 나타내는 기호
- 피연산자 Operand : 연산의 대상
연산자의 종류
연산자 | 우선순위 | 결합 규칙 |
---|---|---|
배열, 멤버, 메소드 호출 | [], ()(메소드 호출) | 왼쪽 → 오른쪽 |
단항 | ! ~ ++ — + - ()(형변환) new | 왼쪽 → 오른쪽 |
곱셈 | * / % | 왼쪽 → 오른쪽 |
덧셈 | + - | 왼쪽 → 오른쪽 |
이동 | « »> » | 왼쪽 → 오른쪽 |
관계 | <, >, <=, =>, instanceof | 왼쪽 → 오른쪽 |
동등 | ==, = ! | 왼쪽 → 오른쪽 |
비트별 AND | & | 왼쪽 → 오른쪽 |
비트별 XOR | ^ | 왼쪽 → 오른쪽 |
비트별 OR | | | 왼쪽 → 오른쪽 |
논리적 AND | && | 왼쪽 → 오른쪽 |
논리적 OR | || | 왼쪽 → 오른쪽 |
조건 | ? : | 오른쪽 → 왼쪽 |
대입 | =, +=, -=, *=, /=, %=, &=, ^=, |=, «=, »=, »>= | 오른쪽 → 왼쪽 |
단항 연산자와 이항연산자
- 단한 연산자는 하나의 항에 대한 연산을 수행
- 증감 연산자와 논리 부정 연산자가 이에 해당
- 이항 연산자는 두개의 항에 대한 연산을 수행
- 산술 연산자와 비교연산자. 논리연산자 등
산술 연산자
- 두개의 피연산자에 대하여 산술 연산을 위해 사용
- 덧셈 + , 뺄셈 - , 곱셈 * , 나눗셈 / , 나머지 %
증감 연산자
- 하나의 피연산자를 증가시키거나 감소시키기 위해 사용
- 1만큼 증가 : ++, 1만큼 감소 : –
int nextx = ++x; //현재 변수 x의 값을 대입하기 전 이를 증가시키고 nextx에 대입한다.
int nexty = y--; //현재 변수 y의 값을 nexty에 대입한 다음 y의 값을 감소시킨다.
관계 연산자
-
두개의 피연산자를 비교하는데 사용
//변수 x와 y의 값에 대하여 x == y; //둘이 같은가 x != y; //둘이 다른가 x > y; // x가 y보다 큰가 x < y; // x가 y보다 작은가 x >= y; // x가 y보다 크거나 같은가 x <= y; // x가 y보다 작거나 같은가
-
true(참) 또는 false(거짓)을 반환
논리 연산자
- 여러개의 조건을 참인지 거짓인지 판별하기 위해 사용
-
AND 연산 && , OR연산 , NOT 연산 ! 3==3 && 4==7; //false 3==3 || 4==7; //true !false; //true
비트연산자
- 하나 또는 두개의 피연산자를 비트 연산 하기 위해 사용
- 비트 NOT ~
- ~0x0010 == 0x1101
- 비트 AND &
- 0x0FF0 & 0xF0F0 == 0x00F0
- 비트 XOR ^
- 0x0FF0 ^ 0xF0F0 == 0xFF00
-
비트 OR -
0x0FF0 0xF0F0 == 0xFFF0
-
- 비트 왼쪽 이동 «
- 0xFFF«4 == 0xFFF0
- 비트 오른쪽 이동 »
- 0xFFF0»4 == 0xFFFF
- 비트 오른쪽 이동 (unsigned) »>
- 0xFFF0»5 == 0x0FFF
대입 연산자
- 순수 대입 연산자 =
- 복합 대입 연산자
- 다른 연산자와 대입 연산자를 결합
- 자기 자신과 연산한 후 그 결과를 누적 대입
- +=, -=, *=, /=, %= 등
삼항 연산자
- 조건식 ? 식1 : 식2;
- 조건 식의 결과가 참인 경우 식1 수행, 거짓이 경우 식2 수행
- 삼항 연산자 안에 삼항 연산자 중첩 가능