[Java] 연산자

박은지·2022년 2월 26일
0

연산자

Java에서는 여러 종류의 연산을 수행하기 위해 다양한 연산자(Operator)를 제공하고 있다.
Java에서 제공하는 대표적인 연산자로는 다음 8가지의 연산자가 존재한다.


1. 산술 연산자 ( Arithmetic operator )

산술 연산자는 사칙연산을 다루는 연산자로, 가장 기본적이면서 가장 많이 사용되는 연산자 중 하나이다.

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

Java 연산자의 우선순위표

참고자료


2. 대입 연산자( Assignment operator )

대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽이다.
또한 Java에서는 대입 연산자와 다른 연산자를 결합하여 만든 다양한 복합 대입 연산자를 제공한다.

대입 연산자설명
=왼쪽의 피연산자에 오른쪽의 피연산자를 대입
+=왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입
-=왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입
*=왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입
/=왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입
%=왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입
&=왼쪽의 피연산자를 오른쪽의 피연산자와 비트 AND 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입
|=왼쪽의 피연산자를 오른쪽의 피연산자와 비트 OR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입
^=왼쪽의 피연산자를 오른쪽의 피연산자와 비트 XOR 연산한 후, 그 결괏값을 왼쪽의 피연산자에 대입
<<= 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호를 유지하며 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입
>>= 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입

3. 증감 연산자( Increment and decrement operators )

증감 연산자는 피연산자를 1씩 증가 혹은 감소시킬 때 사용하는 연산자이다.
이 연산자는 피연산자가 단 하나뿐인 단항 연산자이다.

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

4. 비교 연산자( Comparison operator )

비교 연산자는 피연산자 사이의 상대적인 크기를 판단하는 연산자이다.
이 연산자는 왼쪽의 피연산자와 오른쪽의 피연산자를 비교하여, 어느 쪽이 더 큰지, 작은지, 또는 서로 같은지를 판단한다.
비교 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.

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

5. 논리 연산자( Logical operator )

논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자이다.
AND 연산과 OR 연산은 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.
NOT 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽이다.

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

진리표 ( Truth Table )

다음은 논리 연산자의 모든 동작 결과를 보여주는 표이다.

ABA && BA || B! A
truetruetruetruefalse
truefalsefalsetruefalse
falsetruefalsetruetrue
falsefalsefalsefalsetrue

6. 비트 연산자( Bitwise operator )

비트 연산자는 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자이다.
또한, 비트 단위로 왼쪽이나 오른쪽으로 전체 비트를 이동하거나, 1의 보수를 만들 때도 사용된다.

비트 연산자설명
&대응되는 비트가 모두 1이면 1을 반환 [ 비트 AND 연산 ]
|대응되는 비트 중에서 하나라도 1이면 1을 반환 [ 비트 OR 연산 ]
^대응되는 비트가 서로 다르면 1을 반환 [ 비트 XOR 연산 ]
~비트를 1이면 0으로, 0이면 1로 반전시킴 [ 비트 NOT 연산, 1의 보수 ]
<<명시된 수만큼 비트들을 전부 왼쪽으로 이동 [ left shift 연산 ]
>>부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동 [ right shift 연산 ]
>>>지정한 수만큼 비트를 전부 오른쪽으로 이동시키며, 새로운 비트는 전부 0이 됨

7. 삼항 연산자( Ternary operator )

삼항 연산자는 Java에서 유일하게 피연산자를 세 개나 가지는 조건 연산자이다.

문법
조건식 ? 참이면_반환할_값 : 거짓이면_반환할_값 ;


8. instanceof 연산자

instanceof 연산자는 참조 변수가 참조하고 있는 인스턴스의 실제 타입을 반환해 준다.
즉, 해당 객체가 어떤 클래스나 인터페이스로부터 생성되었는지를 판별해 주는 역할을 한다.

instanceof 연산자는 왼쪽 피연산자인 인스턴스가 오른쪽 피연산자인 클래스나 인터페이스로부터 생성되었으면 true를 반환하고,
그렇지 않으면 false를 반환한다.

문법
인스턴스_이름 instanceof 클래스_또는_인터페이스_이름 ;

0개의 댓글