Page 57 - 든든한 Java programming 도서 미리보기
P. 57
CHAPTER 2? 변수와 연산자 51
5번째 줄에서 삼항연산자를 이용하여 x가 2로 나누어떨어질 경우 x에 1을 더한 값을
저장하고 나누어떨어지지 않을 경우 x에 1을 뺀 값을 저장 하도록 하였다. x의 값은 2
임으로 x에 3이 저장되어 6번째 줄에서 x의 값이 3으로 출력되었다. 8번째 줄에서 x가
2로 나누어떨어질 경우 x에 2를 더한 값을 저장하고 나누어떨어지지 않을 경우 x에 2
를 뺀 값을 저장 하도록 하였다. x의 값이 3임으로 6번째 줄에서 x의 값이 1로 출력되
었다.
2.4.8?연산자우선순위
우리는 자바에서 제공하는 여러 가지 연산자들에 대하여 알아보았다. 이제 우리는 연
산자들이 한 문장에 섞여 있을 때 어떤 연산자부터 처리할지에 대하여 알아보자.
result = x + y * z;
위 문장을 실행시키면 y * z 가 먼저 계산되고 그 결과와 z를 더한 값을 result에 저장
한다. 곱셈 연산자를 덧셈 연산자보다 우선하여 처리하였다. 이와 같이 모든 연산자사
이에는 연산자 우선순위가 있다.
연산자 우선순위가 같은 경우의 처리 순서에 대해서는 다음 문장을 통해 알아보자.
result = x + y + z;
위 문장을 실행시키면 x + y를 먼저 계산되고 그 결과와 z를 더한 값을 result에 저장
한다. 이와 같이 같은 연산자 혹은 같은 우선순위의 연산자가 여러 개 있을 경우 왼쪽
에 있는 연산자부터 수행할 것인지 오른쪽에 있는 연산자부터 수행할 것인지 정의되어
있어야 한다. 이러한 사항을 정의한 것을 결합성이라고 한다. 다음과 같은 식이 계산될
때 ①, ②, ③, ④순의 연산자 우선순위를 가지고 시행된다.