728x90
Java 전체 연산자 우선순위 및 연산 대상
우선 순위 | 연산자 | 결합 방향 | 연산 대상 | 부가 설명 |
1 | [] . ++ -- +, - ~ ! new (type) |
👈 | 모든 데이터형 참조형 정수형, 실수형 정수형, 실수형 정수형, 실수형 정수형 논리형 참조형 모든 데이터형 |
배열 요소 지정 객체 멤버 지정 값 증가 값 감소 부호에 사용 비트 반전 논리 반전 객체 생성 형 변환 연산자 |
2 | +, / , % | 👉 | 정수형, 실수형 | 산술계산 |
3 | +, - + |
👉 | 정수형, 실수형 String 객체 |
산술계산 문자열 병합 |
4 | << >> >>> |
👉 | 정수형 | 비트 연산자 |
5 | <, <=, =>, > instanceof |
👉 | 정수형, 실수형 참조형 |
값의 대소 비교 객체 타입 비교 |
6 | == != == != |
👉 | 기본형 기본형 참조형 참조형 |
비교 연산자 |
7 | & & |
👉 | 정수형 논리형 |
비트 AND 논리 AND |
8 | ^ ^ |
👉 | 정수형 논리형 |
비트 XOR 논리 XOR |
9 | | | |
👉 | 정수형 논리형 |
비트 OR 논리 OR |
10 | && | 👉 | 논리형 | 조건 AND |
11 | || | 👉 | 논리형 | 조건 OR |
12 | ? : | 👉 | 모든 데이터형 | 삼항 연산자 |
13 | = +=, -=,..등의 연산 후 대입 연산자들 |
👈 | 모든 데이터형 | 대입 연산 연산 후 대입 |
📁비트 논리 연산자
연산자 기호 | 연산자 이름 | 결합 방향 | 기능 |
& | 비트 AND | 👉 | 두 피 연산자의 값이 둘 다 1인경우만 1 |
| | 비트 OR | 👉 | 두 피연산자 중 하나라도 1인 경우 1 |
^ | 비트 XOR | 👉 | 두 피연산자의 값이 다른 경우 1 |
~ | 비트 NOT | 👈 | 단항 연산자. 피연산자의 모든 비트를 반전시킴 |
📁비트 이동 연산자 ( Shift 연산자 )
연산자 기호 | 결합 방향 | 기능 ( a 연산자 b 의 경우) |
<< | 👉 | a를 b만큼 왼쪽으로 이동. 빈 공간은 0으로 채움. <<1 은 x2와 동일함. |
>> | 👉 | a를 b만큼 오른쪽으로 이동. 빈공간은 음수는 1, 양수는 0으로 채움. >>1 은 /2와 동일함. |
>>> | 👉 | a를 b만큼 오른쪽으로 이동. 빈공간은 무조건 0으로 채움. |
✨그냥 2를 곱하고 나누는 것보다 속도가 빠름.
📁논리 연산자
연산자 기호 | 결합 방향 | 기능 |
& | 👉 | 두개의 피연산자가 모두 true인 경우 true |
| | 👉 | 두 피연산자 중 하나라도 true인 경우 true |
! | 👈 | 단항 연산자. 값을 반전. |
^ | 👉 | 두 피연산자가 서로 다른 경우만 true |
&& | 👉 | &와 동일한 기능 + 앞 피연산자가 false인 경우 뒤 연산자를 검사하지 않음. |
|| | 👉 | |와 동일한 기능 + 앞 연산자가 true인 경우 뒤 연산자를 검사하지 않음. |
728x90
'언어 공부 > JAVA' 카테고리의 다른 글
[JAVA] 기본 입력 : Scanner (0) | 2021.08.02 |
---|---|
[JAVA] 난수 표현하기 ( Random ) (0) | 2021.07.22 |
[JAVA] 묵시적 (Implicit) vs 명시적(Explicit) 형변환 : Type Casting (0) | 2021.07.22 |
[JAVA] 데이터 타입 | 크기 | 범위 ( Data type : Reference vs Primitive ) (0) | 2021.07.22 |