02-11.1 연산자 우선순위
(0) 최우선 연산자: . , [] , ()
(1) 단항 연산자: ++, --, !, ~, +/- : 부정, bit변환 > 부호 > 증감
(2) 산술 연산자: * , / , %, +, -
(3) 시프트 연산자: >>, <<, >>>
(4) 비교 연산자: > < >= <= == !=
(5) 비트 연산자: $ | ^ ~
(6) 논리 연산자: && || !
(7) 삼항 연산자: 조건식 ?
(8) 대입 연산자: = *= /= %= += -=
- 증감 연산자: 전위 연산자(증감 연산자가 앞에 나올 때), 후위 연산자(증감 연산자가 뒤에 나올 때)
- 논리 연산자: &&(and 연산자), ||(논리합 , or 연산자) , !(부정의 의미 not 연산자)
-> and연산자와 or연산자가 함께 나오면 and연산자의 우선순위가 높다.
-> not연산자는 boolean의 값을 역전 시킨다.
02-11.2 연산자 우선순위 예제
Ex)
<hide/>
public class OperatorExam3{
public static void main(String args[]){
int a = 5;
int b = 10;
int c = 15;
System.out.println(a - b * c);
System.out.println( (a - b) * c);
}
}
- 첫 번째 식은 연산자 우선순위에 따라 b * c 를 먼저 계산한다. -145 출력
- 두 번째 식은 a - b를 먼저 계산한 다음에 c를 곱한다. -75 출력
02-11.3 and연산자와 or연산자
Ex)
<hide/>
public class OperatorExam3 {
public static void main(String args[]){
int a = 5;
int b = 10;
int c = 15;
System.out.println( a > b && b > 5 );
System.out.println( a > b || b > 5 );
}
}
- false 출력 ( a > b 는 거짓이므로 )
- true 출력 ( b > 5 는 참이므로)
02-11.4 증감 연산자
- 증감 연산자는 단항 연산자이므로 산술 연산자보다 우선순위가 높다
- 전위 연산자
Ex) ++a - 5 에 대해서 증감연산자인 ++a를 먼저 실행한 후, -5를 실행한다.
- 후위 연산자
Ex) a++ - 5 는 a를 증가시키기 전에 연산하고 출력한다.
Note) 전위 연산자
<hide/>
public class OperatorExam3 {
public static void main(String args[]){
int a = 5;
int b = 10;
int c = 15;
System.out.println( ++a - 5 ); // 전위 연산자
System.out.println( a );
}
}
Note) 출력 결과: 1, 6 출력
(1) ++a 수행 -> 5 + 1 -> a는 6
(2) a - 5 수행 -> 6 - 5 -> 결과는 1
(3) System.out.println()에 (2)의 결과인 1을 전달
Note) 후위 연산자
<hide/>
public class OperatorExam3 {
public static void main(String args[]){
int a = 5;
int b = 10;
int c = 15;
System.out.println( a++ - 5 ); // 후위 연산자
System.out.println( a );
}
}
Note) 출력 결과: 0, 6 이 출력 된다.
(1) a - 5 수행 - > 5 - 5 -> 결과는 0
(2) System.out.println()에 (1)의 결과인 0을 전달
(3) a++ 수행 -> 5 + 1 -> a는 6
'Java > 모두의 자바' 카테고리의 다른 글
Chapter 03-13 논리 연산자 (0) | 2022.02.03 |
---|---|
Chapter 03-12 if문 (0) | 2022.02.03 |
Chapter 02-10 비교 연산자 (0) | 2022.02.03 |
Chapter 02-09 산술 연산자 (0) | 2022.02.03 |
Chapter 02-08 기본형 형변환(Casting) (0) | 2022.02.03 |