본문 바로가기
자바공부/연산자

JAVA(자바) - 연산의 방향과 우선순위

by You진 2020. 12. 17.

연산의 방향과 우선순위

- 연산자의 우선 순위에 따라 연산된다

	x > 0 && y < 0

- 동일한 우선 순위의 연산자는 연산의 방향이 있다.

   (첫번째 그림) *, /, %는 같은 우선 순위를 갖고 있고 이 연산자는 연산 방향이 왼쪽에서 오른쪽으로 수행

   (두번째 그림) 단항 연산자(++,--,~,!) 부호 연산자(+,-) 대입 연산자(=, +=, -=, ....)는 오른쪽에서 왼쪽으로 수행

 

연산자 연산 방향 우선 순위
증감( ++, -- ), 부호( +, - ), 비트( ~ ), 논리( ! ) <----------
산술(  *, /, % ) ---------->
산술( +, - ) ---------->
쉬프트( <<, >>, >>> ) ---------->
비교( <, >, <=, >=, instanceof ) ---------->
비교( ==, != ) ---------->
논리( & ) ---------->
논리( ^ ) ---------->
논리( | ) ---------->
논리( && ) ---------->
논리( || ) ---------->
조건( ?: ) ---------->
대입( =, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=, >>>= ) <----------

우선 순위 간편 정리

- 단항 > 이항 : -x +6

곱셈, 나눗셈 > 덧셈, 뺄셈 : x + 6 * y

- 산술 > 비교 : x + 3 > y - 1

- 비교 > 논리 : x > 5 && x < 10

- 대입은 맨 마지막 : int result = x + 6 / 2;

 

괄로 ( )는 최우선 순위

 

★연산의 방향과 우선순위를 정리★ (사실상 대충 알면 여기만 보면된다고 본다)
1. 단항, 이항, 삼항 연산자 순으로 우선순위를 가진다.
2. 산술, 비교, 논리, 대입 연산자 순으로 우선순위를 가진다.
3. 단항과 대입 연산자를 제외한 모든 연산의 방향은 왼쪽에서 오른쪽이다. (->)
4. 복잡한 연산식에는 괄호( )를 사용해서 우선순위를 정해준다.