hyeonga_code
Java_20_연산자 우선 순위, 요약 본문
- 연산자 우선순위
- 최우선 >> 단항 >> 산술 >> 시프트 >> 비교 >> 비트 >> 논리 >> 삼항 >> 대입
- 산술 >> 비교 >> 논리 >> 대입
- 단항 >> 이항 >> 삼항
- 최우선 연산자
- [], (), .
-- 연산자
- 최우선 [] ()
- 단항 연산자 ! ~ + - ++ --(전위형) (cast : 자료형변환)
- 항이 하나
- instanceOf *****
- A ap
- ap instanceOf Object : ap가 Object로 변환될 수 있는지
- 산술 연산자 * / % + -
- 시프르 연산자 >> << >>>
x = 10
x << 2
0000 1010
(00) 0010 1000 : x^2
x >> 2
0000 1010
00 0010 (10) : x*(1/2^2)
- 앞의 채우는 값
- 양수 0
- 음수 1
- 뒤의 날아가는 값 : overflow
- 1이 날아가는 값이 있습니다.
x >>> 2
- 관계 연산자 < > >= <= == !=
- 관계 연산 수행 시 boolean값이 나옵니다.
- 논리 연산자 && ||
boolean x;
boolean y;
if( (x=4<3) && (y=5>0))
s.o.p(x,y)
- 오류 발생
- y를 초기화 하지 않았다는 오류가 발생합니다.
- 앞의 조건이 false인 경우 뒤의 조건은 실행하지 않습니다.
-- short circat
- 가능성이 있는 경우 연산하지 않습니다.
- 비트 연산을 빌려다 사용하는 경우 결과가 예상되더라도 뒤의 연산까지 수행합니다.
- 비트 연산자 & | ^
5 & 6
0101
0110
-----
0100
5 | 6
0101
0110
-----
0111
5 ^ 6
0101
0110
-----
0011
- 삼항 연산자 (조건?결과1:결과2)
- if문과 동일하므로 = 가 들어가면 안됩니다.
- 대입 연산자 *= /= %= += -= <<= >>= >>>= &= != ^=
- =
- 후위형 증감 연산자 -- ++
- 순차 ,
'Java' 카테고리의 다른 글
Java_22_디자인 패턴 DP_Design Pattern (0) | 2023.09.19 |
---|---|
Java_21_변수의 충돌 (0) | 2023.09.19 |
Java_20_연산자_대입 연산자, 쉬프트 연산자, 비트 연산자, 삼항 연산자 (0) | 2023.09.18 |
Java_20_연산자_나머지 연산자 % (0) | 2023.09.18 |
Java_20_연산자_논리 연산자 (0) | 2023.09.18 |