-
[Java-20] 자바 연산자 우선순위Java 2020. 11. 27. 14:36
Java
1. 간단한 연산자 표 Simple
종종 연산자에 대해서 얘기를 할 때, 연산자 우선순위에 대해서 얘기 한적이 있다. 그래서 이번에는 연산자 우선순위를 정리하는 시간을 가지도록 해보자
먼저 우리가 지금까지 알고 있었던 연산자 우선순위에는, 다음과 같은 표를 많이 봐왔을 것이다.
Simple , 간단한 우선순위이다. 우리는 똑똑하니 뒤에표를 보도록 하자 : D
우선 순위
연산자
내용
1
(),[]
괄호 / 대괄호
2
!,~,++,--
부정/ 증감 연산자
3
*, /, %
곳셈/나눗셈 연산
4
+, -
덧셈/빼기 연산
5
<<,>>,>>>
비트단위 쉬프트 연산자
6
<.<=,>,>=
관계 연산자
8
==, !=
9
&
비트단위의 논리연산
10
^
11
&&
논리곱
12
||
논리합
13
?:
조건부 연산자
14
=,+=,-=,*=,/=,%=,<<=,>>=,&=,^=,~=
대입 할당 연산자
이렇게 우리가 알고 있는 우선순위 에 대해서 알아보았다. 하지만 이보다 java 연산자 우선순위는 더 폭 넓게 존재하는데,
2. 자세한 연산자 표
순서
연산방향
연산자
피연산자 타입
수행
1
좌측부터
.
객체, 필드(멤버)
객체 멤버 접근
[ ]
배열, int
Array 원소 접근
( args )
메소드, arglist
메소드 호출
++, --
변수 variable ex) ++x
전위 증감
2
우측부터
++, --
변수 variable ex) x++
후위 증감
+, -
number 숫자 ex) -3, +3
단항 +, 단항 -
~
integer
비트 조건연산자
!
boolean
논리 not연산
3
우측부터
new
class, arglist
객체 생성
( type )
type, any
타입 캐스팅
4
좌측부터
*,/,%
number (*,/,%) number
곱,나누기,나머지
5
좌측부터
+,-
number (+,-) number
더하기, 빼기
+
String + (any)
스트링에 문자열 더하기
6
좌측부터
<<
integer, integer
left shift
>>
integer, integer
right shift (밀린 비트 부분 1로 메꿈)
>>>
integer, integer
right shift(밀린 비트 0으로 채움)
7
좌측부터
<,<=
number, number
less than, less than equal
>, >=
number, number
greater than, greater than equal
instanceof
reference , type
타입 비교
8
좌측부터
==
primitive,primitive
같은지 비교
!=
primitive,primitive
안같은지 비교
==
reference, reference
같은지 비교
!=
reference, reference
안같은지 비교
9
좌측부터
&
integer, integer
비트 AND
&
boolean,boolean
논리 AND
10
좌측부터
^
integer, integer
비트 XOR
^
boolean,boolean
논리 XOR
11
좌측부터
|
integer, integer
비트 OR
|
boolean , boolean
논리 OR
12
좌측부터
&&
boolean, boolean
조건부 AND
13
좌측부터
||
boolean, boolean
조건부 OR
14
우측부터
?:
boolean, any
조건부 (3항) 연산
15
우측부터
=
variable, any
대입
+=, /=, %=,
+=,-=,<<=,
>>=,>>>=,
&=,^=,|=
variable, any
대입 + 연산
16
우측부터
->
argilist, method body
람다
마지막 람드를 봤는데, 다음은 -> 연산에 대해서 알아보도록 하자, 이 화살표 연산만으로도 몇개의 포스팅으 될 수 있지만 최대한 간단하고 이해하기 쉽게 설명하도록 하자 : D
'Java' 카테고리의 다른 글
[Java-22] 자바13 스위치, java13 switch 연산 (0) 2020.11.27 [Java-21] 화살표 연산자 (->) 그리고 람다 원리 (1) 2020.11.27 [Java-19] 삼항 연산자 기본 (원리) ?: (0) 2020.11.27 [Java-18] 자바 대입 연산자 & 증감 연산자 (0) 2020.11.27 [Java-17] 자바 Instanceof (0) 2020.11.27