단항 연산자
++(증가 연산자) : 피연산자의 값을 1 증가시킨다.
--(감소 연산자) : 피연산자의 값을 1 감소 시킨다.
앞에 붙을 경우 먼저 증가 시킨 후 변수의 값을 불러오고,
뒤에 붙을 경우 값을 불러온다음에 값을 증가시킨다.
+(양의 부호 연산자): 값을 양수로 만들어주는 것인데, 애초에 생략 가능하기에 잘 안 쓰인다.
-(음의 부호 연산자): 해당 변수에 -1를 곱해 양수 or 음수로 만든다.
~(비트 연산자): 정수형과 문자형 데이터 타입에서 사용 가능하다. ( 자료형은 전 글 참고)
피연산자의 2진수 표현 값을 반전 시킨다. 0 ☞ 1 , 1 ☞0
이를 통해 비트 연산 후 +1 하면 양의 정수를 음의 정수로 변경 가능
!(논리부정 연산자): boolean형에서 사용 가능
true ☞ false, false ☞ true
이항 연산자(산술 연산자)
+, -, *, /, %(사칙 연산자 & 나머지 연산자) : boolean형을 제외한 모든 기본형 변수에 사용 가능
+의 경우 수 계산 뿐만 아닌 string형 문자를 연결하는 용도로도 사용 가능
크기가 작은 자료형과 큰 자료형이 계산하게 될 경우 큰 쪽으로 형이 자동으로 맞춰짐
ex) int + float -> float + float = float
나머지 연산자는 피연산자를 정수로만 지정 가능
<<, >>, >>>(쉬프트 연산자) : 2진수로 표현된 값의 각 자리를 오른쪽 또는 왼쪽으로 이동시킴
>> 와 >>의 차이점
양수일 경우엔 같지만 음수일 경우
>>는 오른쪽으로 한 칸 이동할 때 부호 비트를 1로 채우게 됨
>>>는 오른쪽으로 한 칸 이동할 때 부호 비트를 0으로 채우게 됨
이항 연산자(비교 연산자)
두 개의 변수 or 리터럴(상수)를 비교할 때 사용
결과는 true or false
이 또한 이항 연산자이기에 자료형이 다를 땐 큰쪽으로 자동 변환
>, <. >=, <= (대소 비교 연산자) : 기본형 중 boolean형 제외 다 사용 가능
참조형 사용불가
==, != (등가 비교 연산자): 두 피연산자에 저장되어 있는 값이 같은가 or 다른가를 비교함
기본형과 참조형 모두 사용 가능
&&, ||(논리 연산자): 사칙연산보다 연산순위가 낮기에 괄호를 추가로 많이 사용함
&&(AND 결합): 피연산자 둘 다 true여야 true 반환
||(OR 결합): 피연산자 중 하나만 true여도 true 반환
&, |, ^(비트 논리 연산자): 이진 비트 연산 수행
folat와 double형을 제외한 모든 기본형에 사용 가능
& (AND 연산자): 둘 다 1 이어야 1
|(OR 연산자): 둘 중 하나만 1 이면 1, 아닐 경우 0
^(XOR연산자, eXclusive(배타적) OR연산자): 둘의 값이 같지 않을 경우 1
삼항 연산자 & 대입 연산자
삼항 연산자 : 세 개의 피연산자를 필요로함,
형식
조건식 ? 가 조건식 ture 일 때 : 조건식이 false 일 때
간단한 if문 대체 가능
대입 연산자: 대입 연산자의 왼쪽엔 반드시 변수가 위치함, 오른쪽의 경우 리터럴 or 변수 or 수식
오른쪽의 결과값이 왼쪽에 할당
=(대입 연산자): 일반적인 대입 연산자
operator=(복합 대입 연산자) operator 자리에 산술 연산자 와 비트연산자가 위치할 수 있음
할당 연산자라고도 함
ex) a+=1; == a= a+1;
종류 | 연산자 | 우선 순위 | |||
단항 연산자 |
변수++, 변수-- | 1 | |||
++변수, --변수, +, -, ~, !, (자료형) | 2 | ||||
이항 연산자 | 산술 연산자 |
*, /, % | 3 | ||
+, - | 4 | ||||
비트 산술 연산자 | <<. >>, >>> | 5 | |||
비교 연산자 | 대소 비교 연산자 | <. >, <=, >= | instanceof | 6 | |
등가 비교 연산자 | ==, != | 7 | |||
논리연산자 | 비트 논리 연산자 | & | 8 | ||
^ | 9 | ||||
| | 10 | ||||
&& | 11 | ||||
|| | 12 | ||||
삼항 연산자 |
조건 ? 참 : 거짓 | 13 | |||
대입 연산자 |
=, +=, -=,*=, /=, %=, <<=, >>=, >>>=, &=, ^=, |= | 14 |
연산자에 관해 표로 정리해봤다.
1이 제일 우선순위가 높은 것이고, 숫자가 커질 수록 우선 순위가 밀린다고 생각하면 되겠다.
'JAVA' 카테고리의 다른 글
ep 03-2. 클래스와 객체1 (0) | 2022.11.20 |
---|---|
ep 03-1. 제어 흐름 이해하기 (0) | 2022.11.20 |
ep 02-3. 간단한 문제 풀이(1~5) (0) | 2022.11.13 |
ep 02-1.변수와 자료형 (0) | 2022.11.13 |
ep 01. 용어 뜻 정리 (0) | 2022.11.06 |