연산자의 우선순위
"하나의 식(expression)에 연산자가 둘 이상 있을때, 어떤 연산을 먼저 수행할지를 자동 결정하는 것"
식 | 설명 |
-x + 3 | 단항 연산자(-)가 이항 연산자(+)보다 우선순위가 높다. 그래서 x의 부호를 바꾼 다음 덧셈이 수행된다. 여기서 '-'는 뺄셈 연산자가 아니라 부호 연산자이다. 1항(단항) 연산자 > 2항 연산자 |
x + 3 = y | 곱셈과 나눗셈이 덧셈과 뺄샘보다 우선순위가 높다. 그래서 '3 * y' 가 먼저 계산된다. |
x + 3 > y - 2 | 비교 연산자(>) 보다 산술 연산자 '+'와 '-'가 먼저 수행된다. 그래서 'x + 3' 과 'y - 2'가 먼저 계산된 다음에 '>'가 수행된다. |
x > 3 && x < 5 | 논리 연산자 '&&'보다 비교 연산자가 먼저 수행된다. 그래서 'x > 3' 과 'x < 5'가 먼저 계산된 다음에 '&&'가 수행된다. 식의 의미는 'x가 3보다 크고 5보다 작다' 이다. |
result = x + y * 3; | 대입 연산자는 연산자 중에서 제일 우선순위가 낮다. 그래서 우변의 최정 연산결과가 변수 result에 저장된다. |
연산자의 결합규칙
"우선순위가 같은 연산자가 있을 때, 어떤 것을 먼저?"
ex) 3 + 4 - 5 (기본은 왼쪽 -> 오른쪽)
연산자의 우선순위와 결합버칙은 "세 가지만 기억하자"
1. 산술 > 비교 > 논리 > 대입, 대입은 제일 마지막에 수행된다.
2. 단항(1) > 이항(2) > 삼항(3), 단항 연산자의 우선순위가 이항 연산자보다 높다.
3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방식은 왼쪽에서 오른쪽이다.
'자바의 정석 - 기초편' 카테고리의 다른 글
형변환 연산자 (0) | 2022.08.01 |
---|---|
증감 연산자, 부호 연산자 (0) | 2022.08.01 |
연산자와 피연산자 (0) | 2022.07.30 |
타입간의 변환방법 (0) | 2022.07.29 |
정수형의 오버플로우 (0) | 2022.07.28 |