연산자의 종류

종류 연산자 연산 우선 순위
증감 ++, -- 1
산술 +, -, *, /, % 2
시프트 >>, <<, >>> 3
비교 >, <. >=, <=, ==, != 4
비트 &, |, ^, ~ 5 ( '~'는 1순위 )
논리 &&, ||, ! 6 ( '!'는 1순위 )
조건(삼항) ?, : 7
대입 =, *=, /=, %=, +=, -= 8

 

 증감 연산자

x ++ 연산을 먼저 수행한 뒤, 피연산자 값 1 증가
++ x 피연산자 값을 1 증가한 뒤, 연산을 수행
x -- 연산을 먼저 수행한 뒤, 피연산자 값 1 감소
-- x 피연산자 값을 1 감소한 뒤, 연산을 수행

 

산술 연산자

+ 두 수의 덧셈
- 두 수의 뺼셈
* 두 수의 곱셈
/ 두 수의 나눗셈
% 두 수를 나눈 나머지

 

시프트 연산자

x >> n 정수 x를 32비트로 분해하여, 오른쪽으로 n비트 만큼 이동 ( 빈 자리가 양수면 0, 음수면 1로 채워짐 )
x >>> n 정수 x를 32비트로 분해하여, 오른쪽으로 n비트 만큼 이동 ( 빈 자리가 0으로 채워짐 )
x << n 정수 x를 32비트로 분해하여, 왼쪽으로 n비트 만큼 이동 ( 빈 자리가 0으로 채워짐 )

 

비교 연산자

> 좌항이 더 크면 true를 반환
< 우항이 더 크면 true를 반환
>= 좌항이 더 크거나 같으면 true를 반환
<= 우항이 더 크거나 같으면 true를 반환
== 두 항이 같으면 true를 반환
!= 두 항이 같지 않으면 true를 반환

 

논리 연산자

& 각 항이 모두 참일 때만, true를 반환
| 각 항중 하나라도 참이면, true를 반환
! 참이면 false, 거짓이면 true로 반환
&& 각 항이 모두 참일때만 true를 반환하나, false가 나오면 후순위의 연산은 실행 X
|| 우선순위가 높은 연산부터 실행하여 참의 결과가 나오면, 후순위의 연산은 실행하지 않고 true를 반환

 

대입 연산자

= 좌항의 변수에 우항의 값을 대입
+ = 좌항의 변수에 우항의 값을 더하여 대입
- = 좌항의 변수에 우항의 값을 빼서 대입
* = 좌항의 변수에 우항의 값을 곱하여 대입
/ = 좌항의 변수에 우항의 값을 나누어 대입
% = 좌항의 변수에 우항의 값을 나눈 나머지를 대입

 

비트 연산자

& 피연산자를 2진수의 비트로 연산하여, 두 값이 모두 1일떄만 결과도 1을 반환
| 피연산자를 2진수의 비트로 연산하여, 두 값중 하나만 1이여도 결과로 1을 반환
^ 피연산자를 2진수의 비트로 연산하여, 두 값이 다를 때만 결과로 1을 반환
~ 피연산자를 2진수의 비트로 변환하여, 반전된 값을 결과로 반환

 

조건 연산자

조건 A ? A가 참일 때 반환 값 : A가 false일 때 반환 값 으로 나타냄
int age = 28;
System.out.println(age > 20 ? "성인" : "미성년자");
→ 변수 age의 값은 28 → age > 20 이라는 조건에서 참이 성립 → "성인"이라는 문자열 반환
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기