Part 02. 연산자
Last updated
Last updated
9 * x + 3
연산자 : 연산을 수행하는 기호 -> * , +
피연산자 : 연산자의 연산 수행 대상 -> 9 , x , 3
"모든 연산자는 연산결과를 반환한다."
즉, 연산결과를 반환하지 않으면 연산자가 아니다.
ex) () -> 괄호는 연산자가 아니다.
종류 | 연산자 | 설명 |
---|---|---|
하나의 식에 연산자가 둘 이상 있을 때, 어떤 연산을 먼저 수행 할지를 자동 결정하는 것!
= > 5 + 3 * 4
3 * 4
5 + 12
연산 순서를 수동으로 결정하고 싶다면 괄호() 를 사용하면 됩니다.
= > (5 + 3) * 4
5 + 3
8 * 4
우선순위가 같은 연산자가 있을 때, 어떤 것을 먼저?
= > 3 + 4 - 5 -> (3 + 4) - 5
기본적인 계산 순서는 왼쪽에서 오른쪽
대입과 단항 연산자일 경우 오른쪽에서 왼쪽
1. 산술 > 비교 > 논리 > 대입 : 대입은 제일 마지막에 수행됩니다.
2. 단항(1) > 이항(2) > 삼항(3) : 단항 연산자의 우선순위가 제일 높습니다.
3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행 방향은 왼쪽에서 오른쪽입니다.
우선순위 | 연산자 | 설명 | 결합 방향 |
---|---|---|---|
산술 연산자
+ - * / % << >>
사칙 연산과 나머지 연산(%)
비교 연산자
< > >= <= == !=
크고 작음과 같고 다름을 비교
논리 연산자
&& || ! & | ^ ~
'그리고(AND)' 와 '또는(OR)' 으로 조건을 연결
대입 연산자
=
우변의 값을 좌변에 저장
기타 연산자
(type) ?: instanceof
형변환 연산자, 삼항 연산자, instanceof연산자
1
[]
첨자 연산자
왼쪽에서 오른쪽으로
.
멤버 연산자
왼쪽에서 오른쪽으로
2
++
후위 증가 연산자
왼쪽에서 오른쪽으로
--
후위 감소 연산자
왼쪽에서 오른쪽으로
3
!
논리 NOT 연산자
오른쪽에서 왼쪽으로
~
비트 NOT 연산자
오른쪽에서 왼쪽으로
+
양의 부호 (단항 연산자)
오른쪽에서 왼쪽으로
-
음의 부호 (단항 연산자)
오른쪽에서 왼쪽으로
++
전위 증가 연산자
오른쪽에서 왼쪽으로
--
전위 감소 연산자
오른쪽에서 왼쪽으로
(타입)
타입 캐스트 연산자
오른쪽에서 왼쪽으로
4
*
곱셈 연산자
왼쪽에서 오른쪽으로
/
나눗셈 연산자
왼쪽에서 오른쪽으로
%
나머지 연산자
왼쪽에서 오른쪽으로
5
+
덧셈 연산자 (이항 연산자)
왼쪽에서 오른쪽으로
-
뺄셈 연산자 (이항 연산자)
왼쪽에서 오른쪽으로
6
<<
비트 왼쪽 시프트 연산자
왼쪽에서 오른쪽으로
>>
부호 비트를 확장하면서 비트 오른쪽 시프트
왼쪽에서 오른쪽으로
>>>
부호 비트까지 모두 비트 오른쪽 시프트
왼쪽에서 오른쪽으로
7
<
관계 연산자(보다 작은)
왼쪽에서 오른쪽으로
<=
관계 연산자(보다 작거나 같은)
왼쪽에서 오른쪽으로
>
관계 연산자(보다 큰)
왼쪽에서 오른쪽으로
>=
관계 연산자(보다 크거나 같은)
왼쪽에서 오른쪽으로
instanceof
인스턴스의 실제 타입 반환
왼쪽에서 오른쪽으로
8
==
관계 연산자(와 같은)
왼쪽에서 오른쪽으로
!=
관계 연산자(와 같지 않은)
왼쪽에서 오른쪽으로
9
&
비트 AND 연산자
왼쪽에서 오른쪽으로
10
^
비트 XOR 연산자
왼쪽에서 오른쪽으로
11
|
비트 OR 연산자
왼쪽에서 오른쪽으로
12
&&
논리 AND 연산자
왼쪽에서 오른쪽으로
13
||
논리 OR 연산자
왼쪽에서 오른쪽으로
14
? :
삼항 조건 연산자
오른쪽에서 왼쪽으로
15
=
대입 연산자 및 복합 대입 연산자 (=, +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, |=)
오른쪽에서 왼쪽으로