Java

[Java] 자바 연산자

디지몬진화 2024. 10. 7. 18:55

연산자(operator)

- 연산에 사용되는 표시나 기호

- 피연산자 : 연산이 되는 데이터

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

▲ 자바 연산자를 우선순위 순으로 나열한 표

 

아래에서 각 연산자에 대해 상세히 알아보자!!

 

1순위 : 증감 연산자

- 피연산자의 값을 1씩 증가 또는 감소시키는 연산자

- 연산자가 어디에 위치하느냐에 따라 결과값이 달라짐

- 피연산자가 단 하나뿐인 단항 연산자

증감 연산자 설명
++x 먼저 피연산자의 값을 1 증가시킨 후에 해당 연산을 진행함.
x++ 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 증가시킴.
--x 먼저 피연산자의 값을 1 감소시킨 후에 해당 연산을 진행함.
x-- 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 감소시킴.

 

 

2순위 : 산술 연산자

- 사칙연산을 다루는 기본적이면서도 가장 많이 사용되는 연산자

- 두 개의 피연산자를 가지는 이항연산자

- 피연산자들의 결합 방향의 왼쪽에서 오른쪽

산술 연산자 설명
+ 왼쪽의 피연산자를 오른쪽의 피연산자로 더함
- 왼쪽의 피연산자를 오른쪽의 피연산자로 뺌
* 왼쪽의 피연산자를 오른쪽의 피연산자로 곱함
/ 왼쪽의 피연산자를 오른쪽의 피연산자로 나눔
% 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 반환함

 

 

3순위 : 시프트 연산자

- 비트 표현의 자릿수를 옮기는 연산자

시프트 연산자 설명
<< 명시된 수만큼 비트들을 전부 왼쪽으로 이동시킴 (left shift 연산)
>> 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴 (right shift 연산)
>>> 지정한 수만큼 비트를 전부 오른쪽으로 이동시키며, 새로운 비트는 전부 0이 됨

 

4순위 : 비교 연산자

- 피연산자 사이의 상대적인 크기를 판단하는 연산자

비교 연산자 설명
== 왼쪽의 피연산자와 오른쪽의 피연산자가 같으면 참을 반환함.
!= 왼쪽의 피연산자와 오른쪽의 피연산자가 같지 않으면 참을 반환함.
> 왼쪽의 피연산자가 오른쪽의 피연산자보다 크면 참을 반환함.
>= 왼쪽의 피연산자가 오른쪽의 피연산자보다 크거나 같으면 참을 반환함.
< 왼쪽의 피연산자가 오른쪽의 피연산자보다 작으면 참을 반환함.
<= 왼쪽의 피연산자가 오른쪽의 피연산자보다 작거나 같으면 참을 반환함.

 

5순위 : 비트 연산자

- 비트 단위로 논리 연산을 할 때 사용하는 연산자

비트 연산자 설명
& 대응되는 비트가 모두 1이면 1을 반환함 (비트 AND 연산)
| 대응되는 비트 중에서 하나라도 1이면 1을 반환함 (비트 OR 연산)
^ 대응되는 비트가 서로 다르면 1을 반환함 (비트 XOR 연산)
~ 비트를 1이면 0으로, 0이면 1로 반전시킴 (비트 NOT 연산, 1의 보수)

 

 

6순위 : 논리 연산자

- 주어진 논리식을 판단하여 참과 거짓을 결정하는 연산자

논리 연산자 설명
&& 논리식이 모두 참이면 참을 반환함. (논리 AND 연산)
|| 논리식 중에서 하나라도 참이면 참을 반환함. (논리 OR 연산)
! 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. (논리 NOT 연산)

 

▼ 모든 동작의 결과를 보여주는 진리표를 통해 논리연산자의 역할 확인

A B A&&B A || B !A
true true true true false
true false false true false
false true false true true
false false false false true

 

 

7순위 : 조건(삼항) 연산자

- 피연산자를 3개 가지는 조건 연산자

조건식 ? 반환값1 : 반환값2

▲ 조건식이 참일 시  반환값 1을 반환하고 거짓일 시 반환값2를 반환

 

 

8순위 : 대입 연산자

- 변수에 값을 대입할 때 사용하는 이항 연산자

대입 연산자 설명
= 왼쪽의 피연산자에 오른쪽의 피연산자를 대입함.
+= 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
-= 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
*= 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
/= 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입함.
%= 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입함.