연산자 우선순위 및 결합순서
 컴퓨터언어는 개발자를 비롯한 컴퓨터 과학/공학자들의 요구에 따라 다양하게 진화되었다. 최대한 인간의 일반적인 사고를 바탕에 두고 문법과 체계를 만든 것이지만, 아무래도 언어 개발자들의 마인드가 포함되어 있어 일반에게는 약간 어렵기도 한 것 같다. 다음은 C++ 연산자 우선순위표이다. 이것을 잘 알아야, 복잡한 포인터와 구조체, 배열이 섞인 복잡해 보이는 식도 기계적으로 풀어낼 수 있다. 그러므로 다음은 반드시 암기 가능하면 이해할 사항이다.

간략본(http://www.winapi.co.kr/clec/cpp1/5-4-1.htm)

순위

연산자

결합순서

1

( ) [ ] -> .

왼쪽 우선

2

! ~ ++ -- + -(부호) *(포인터) & sizeof 캐스트

오른쪽 우선

3

*(곱셈) / %

왼쪽 우선

4

+ -(덧셈, 뺄셈)

왼쪽 우선

5

<< >>

왼쪽 우선

6

< <= > >=

왼쪽 우선

7

== !=

왼쪽 우선

8

&

왼쪽 우선

9

^

왼쪽 우선

10

|

왼쪽 우선

11

&&

왼쪽 우선

12

||

왼쪽 우선

13

? :

오른쪽 우선

14

= 복합대입

오른쪽 우선

15

,

왼쪽 우선


상세본(http://www.cppreference.com/operator_precedence.html)
사용자 삽입 이미지

자바(http://www.tech-faq.com/lang/ko/java-operator-precedence.shtml)
자바 연산자 우선순위는 자바를 결정하는 방법을 평가 연산자를 사용하여 첫 번째합니다.

In this chart, operator precedence is displayed from highest precedence to lowest precedence. 이 차트, 연산자를 우선 순위가 높은 우선 순위가 낮은 우선순위를 표시합니다.

우선순위 연산자 기능 결합순서
1 [] Array index 어레이 색인 Left to Right
() Method call 메서드 호출
. Member access 회원에 액세스
2 ++ Prefix or postfix increment 접두사 또는 postfix 증감 Right to Left
-- Prefix or postfix decrement 접두사 또는 postfix 감소
+ - Unary plus, minus 단항 플러스, 마이너스
~ Bitwise NOT 비트없는
! Boolean (logical) NOT 부울 (논리)
(type) Type cast 유형 캐스트
new Object creation 개체를 창출
3 * / % Multiplication, division, remainder 곱셈, 부서, 나머지 Left to Right
4 + - Addition, subtraction 또한 뺄셈 Left to Right
+ String concatenation 문자열 연결
5 << Signed bit shift left to right 서명 비트 교대 왼쪽에서 오른쪽으로 Left to Right
>> Signed bit shift right to left 서명 비트 교대 오른쪽에서 왼쪽으로
>>> Unsigned bit shift right to left 오른쪽에서 왼쪽으로 서명되지 않은 비트 교대
6 < <= Less than, less than or equal to 미만, 이하 같음 Left to Right
> >= Greater than, greater than or equal to 보다 큼, 크거나 같음
instanceof Reference test 참조 테스트
7 == Equal to 같음 Left to Right
!= Not equal to 같지 않음
8 & Bitwise AND 비트 및 Left to Right
&& Boolean (logical) AND 부울 (논리)과
9 ^ Bitwise XOR 비트 xor Left to Right
^ Boolean (logical) XOR 부울 (논리) xor
10 | Bitwise OR 비트 또는 Left to Right
| Boolean (logical) OR 부울 (논리) 또는
11 && Boolean (logical) AND 부울 (논리)과 Left to Right
12 || Boolean (logical) OR 부울 (논리) 또는 Left to Right
13 ? : Conditional 조건부 Right to Left
14 = Assignment 과제 Right to Left
*= /= += -= %=
<<= >>= >>>=
&= ^= |= 
Combinated assignment 임무는 combinated
(operation and assignment) (작업과 배정)

Notes: 참고 사항 :

  • Expressions inside parentheses are evaluated first 괄호 안에 표현을 평가할 수있습니다 첫 번째
  • Nested parentheses are evaluated from the innermost parentheses to the outermost parenthesis. 중첩된 괄호는 괄호를 안쪽에서 바깥쪽 괄호을 평가합니다.
  • Operators in the same row in the chart have equal precedence. 차트에서와 같은 행에 연산자를 우선 순위가 동일합니다.

참고
- 이쪽 블로그를 보면 연산자 우선 순위에 대한 여러 생각들을 정리해 놓았다

출 처 : http://learder.tistory.com/827019

+ Recent posts