연산자우선순위
연산자 우선순위
최우선연산자 ( ., [], () )
단항연산자 ( ++,--,!,~,+/- : 부정, bit변환>부호>증감)
산술연산자 ( *,/,%,+,-,shift) < 시프트연산자 ( >>,<<,>>> ) >
비교연산자 ( >,<,>=,<=,==,!= )
비트연산자 ( &,|,,~ )
논리연산자 (&& , || , !)
삼항연산자 (조건식) ? :
대입연산자 =,*=,/=,%=,+=,-=
int a = 5;
int b = 10;
int c = 5
System.out.println( a - b * c );
//결과는 -45가 나오게 됩니다
곱셈이 우선순위가 높기 때문에 b와c를 먼저 곱한다. 그런 다음 a에서 b와 c를 곱한 값을 뺀다.
비교연산자가 논리 연산자 보다 우선순위가 높다.
단 증감 연산자일 경우에 전위 연산자인지 후위 연산자 인지에 따라서 우선 순위가 바뀔 수 있다.
int a = 5;
System.out.println(++a - 5);
//결과는 1
- 단항 연산자이면서, 전위 연산자인 ++ 가 먼저 연산된다. a가 6으로 바뀐 후 5 를 빼게 되므로 결과는 1
int a = 5;
System.out.println(a++ - 5);
//결과는 0
System.out.println(a);
//결과는 6
- 단항 연산자이면서, 후위 연산자인 ++ 가 나중에 연산된다. a가 5인 상태에서 5를 뺀 후에 a++(a=a+1) 이 실행되므로 출력결과는 0
논리연산자 중 and 연산과 or 연산이 나왔을 경우 and 연산이 먼저 수행 됩니다.
-
System.out.println(a++ - 5) 에서 a가 왜 6이 되는지 이해가 ...
영찬
2020.6.6 11:51
0
-
증감연산자
이성훈
2019.8.5 17:26
1
-
질문여쭙고자합니다
-
2018.11.22 04:44
1
-
오타
탈퇴한 사용자
2018.3.3 20:20
1
-
연습문제
우원진
2018.1.24 18:40
1
-
new OperatorExam() 랑 Math.random() 이 이해가 가지 않습니다.
-
2017.7.8 00:50
1
-
강의노트 마지막 문제
김하품
2016.7.7 14:45
2
-
a++ 증감연사자 계산순서가 이해가 잘안되네요
-
2016.5.25 13:08
1
-
순서가 뒤죽박죽
-
2016.4.1 11:15
1