본문 바로가기

JAVA/part2.변수와 계산

연산자우선순위

위에서 아래로 내려갈수록 연산자 우선순위가 낮아진다.

연산자 우선순위

  • 최우선연산자 ( ., [], () )
  • 단항연산자 ( ++,--,!,~,+/-   : 부정, bit변환>부호>증감)
  • 산술연산자 ( *,/,%,+,-,shift) < 시프트연산자 ( >>,<<,>>> ) >
  • 비교연산자 ( >,<,>=,<=,==,!= )
  • 비트연산자 ( &,|,,~ )
  • 논리연산자 (&& , || , !)
  • (&&:논리곱,and ,ll : 논리합, or)
  • 동등하게 나오면 &&(and)가 ll(or)보다 우선 순위 높다.
  • 삼항연산자 (조건식) ? :
  • 대입연산자 =,*=,/=,%=,+=,-=

 

  • 곱셈이 우선순위가 높기 때문에 b와c를 먼저 곱한다. 그런 다음 a에서 b와 c를 곱한 값을 뺀다. 

  • 비교연산자가 논리 연산자 보다 우선순위가 높다.

  • 단 증감 연산자일 경우에 전위 연산자인지 후위 연산자 인지에 따라서 우선 순위가 바뀔 수 있다.

  • 단항 연산자이면서, 전위 연산자인 ++ 가 먼저 연산된다. a가 6으로 바뀐 후 5 를 빼게 되므로 결과는 1

 

  • 단항 연산자이면서, 후위 연산자인 ++ 가 나중에 연산된다. a가 5인 상태에서 5를 뺀 후에 a++(a=a+1) 이 실행되므로 출력결과는 0

논리연산자 중 and 연산과 or 연산이 나왔을 경우 and 연산이 먼저 수행 됩니다.

 

 

 

and이므로 둘 중 하나라도 충족하지 못하면 false
or이므로 하나만 충족해도 true

 

 

 

(출처:프로그래머스 자바 입문 강의)

'JAVA > part2.변수와 계산' 카테고리의 다른 글

비교연산자  (0) 2021.03.04
산술연산자  (0) 2021.03.04
기본형 타입변환  (0) 2021.03.03
기본형 타입  (0) 2021.03.02
변수와 상수  (0) 2021.03.02