증감연산자
증감 연산자는 변수의 값을 1증가(++) or 1감소(--) 시키는 연산자
boolean 타입을 제외한 모든 기본 타입의 피연산자에 사용할 수 없다.
A++ // 피연산자 A값 결과를 받아온 후 1증가
++A // 피연산자 A값의 결과를 받아오기 전 1 증가
int A = 1;
int B = 1;
int result1 = A++; // result1의 값이 1이 저장된 후 A의 값이 증가
int result2 = ++B; // B의 값이 1 증가된 후 result2의 값에 저장 즉, 2로 저장
A-- // 피연산자 A값 결과를 받아온 후 1 감소
--A // 피연산자 A값의 결과를 받아오기 전 1 감소
int A = 2;
int B = 2;
int result1 = A--; // result1의 값이 2가 저장된 후 A의 값이 감소
int result2 = --B; // B의 값이 1 감소된 후 result2의 값에 저장 즉, 1로 저장
증감 연산자의 연산 순서
증감 연산자는 피연산자의 어느 쪽에 위치하는가에 따라 연산의 순서가 달라집니다.
int x = 10;
int y = x-- + 5 + --x;
System.out.println("변수 x의 값은 %d이고, 변수 y의 값은 %d입니다.\n", x, y);
변수 x의 값은 8이고, 변수 y의 값은 23입니다.
① : 첫 번째 감소 연산자(decrement operator)는 피연산자의 뒤쪽에 위치하므로, 덧셈 연산이 먼저 수행됩니다.
② : 덧셈 연산이 수행된 후에 감소 연산이 수행됩니다. (x의 값 : 9)
③ : 두 번째 감소 연산자는 피연산자의 앞쪽에 위치하므로, 덧셈 연산보다 먼저 수행됩니다. (x의 값 : 8)
④ : 감소 연산이 수행된 후에 덧셈 연산이 수행됩니다.
⑤ : 마지막으로 변수 y에 결괏값의 대입 연산이 수행됩니다. (y의 값 : 23)
'Java > Java' 카테고리의 다른 글
[Java]toCharArray[]란 ? (0) | 2022.11.08 |
---|---|
[Java]산술 연산자(+,-,*,/,%) (0) | 2022.11.08 |
[Java] 스캐너(Scanner)클래스 (2) | 2022.11.07 |
[Java]형식 문자열 (0) | 2022.11.07 |
[Java]이스케이프 문자 (0) | 2022.11.07 |
댓글