연산의 우선순위
배우기
08 연산자
연산의 우선순위

실제로 프로그래밍을 하게 되면 다양한 연산자들을 복합적으로 사용하게 된다. 이럴 때 연산의 선후 관계가 분명하지 않으면 혼란스러울 것이다. 아래는 자바에서 제공하는 연산자들 간의 우선순위를 정리한 표이다.

우선순위연산자결합방향
1[ ]
()
.
2++
--
+(양수) -(음수)
~
!
(type)
new
3* / %
4+(더하기) -(빼기)
+(문자 결합 연산자)
5<<
>>
>>>
6< <=
> >=
instanceof
7==
!=
8&
&
9^
^
10|
|
11&&
12||
13? :
14=
*= /= += -= %=
<<= >>= >>>=
&= ^= |=

위의 표를 보는 방법을 알아보자. 아래를 계산해보자.

int a = 4-3*6;

위의 구문에는 3가지의 연산자가 등장한다. =, -, * 이다. 표에 따라서 우선순위 별로 배열해보면 *, -, =가 된다. 그러므로 연산자 *가 제일 먼저 실행된다. 따라서 첫 번째 연산은 3*6이 된다. 그 값은 18이다. 그다음 우선순위는 -다. 4-18을 해야 하는데 빼기의 결합 방향은 →이다. 따라서 4에서 18을 빼야 한다. 그 결과는 -14가 된다. 그다음 우선순위는 대입 연산자인 '='이다. '='의 결합방향은 '←'이기 때문에 -14를 변수 a에 대입해서 연산이 끝나게 된다. 

위의 표를 외울 필요는 없다. 자연스럽게 이해하게 된다. 다만, 헷갈리는 경우가 있을 때 이 표의 도움을 받도록 하자.

실습 내용

실행결과

-14


질문하기
추가 자료
no files uploaded

추가 자료가 없습니다

여기서 새로운 학습 자료를 확인하세요!
선생님이 추가한 자료들을 바로 확인할 수 있어요.