Language/JAVA

3주차 과제 : 연산자 우선순위

연산자 우선순위

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

다만 괄호를 통해 우선순위를 변경 가능하다.

정리 하자면

 

1. 단항, 이항, 삼항 연산자 순으로 우선순위를 가진다.

2. 산술, 비교, 논리, 대입 연산자 순으로 우선순위를 가진다.

3. 단항과 대입 연산자를 제외한 모든 연산의 방향은 왼쪽에서 오른쪽이다. ( - > )

4. 복잡한 연산식에는 괄호()를 사용해서 우선순위를 정해준다.