티스토리 뷰
대입 연산자에는 단순 대입 연산자와 복합 대입 연산자가 있습니다.
단순 대입 연산자( = )는 대입 연산자 우측의 피연산자 데이터를 좌측의 피연산자에 저장합니다.
복합 대입 연산자(+=, -= , *= , /= , %= . &= , |= , ^= , <<= , >>= , >>>=)는 일정한 연산을 수행한 후에 그 결과 값을 저장합니다.
단순 대입 연산자
기호는 = 을 사용합니다.
a = b ;
우측 피 연산자 b의 값을 좌측 피연산자 a에 대입(저장)합니다.
복합 대입 연산자
- a += b ;
우측의 피연산자 b 값과 좌측의 a를 더한 값을 a 에 대입합니다.
즉 , a = a + b 와 같은 의미입니다. - a -= b ;
오른쪽 피연산자 b의 값을 변수 a에서 빼준 값을 a에 저장합니다.
a = a - b 와 동일한 뜻 입니다.
- a *= b ;
우측 피 연산자와 좌측 피연산자 a를 곱한 결과를 a에 저장합니다.
a = a * b ; 와 같습니다. - a /= b ;
좌측 피연산 a를 우측의 피연산 b로 나눈 결과를 a에 저장합니다.
즉 , a = a / b 와 동일한 의미입니다.
- a %= b ;
왼쪽의 a를 우측의 b로 나누고 남은 나머지를 a에 저장합니다.
a = a%b 와 같은 의미입니다. - a &= b ;
변수 a 와 b를 & 연산 후 그 결과를 a에 대입합니다.
a = a & b 와 동일한 결과가 산출됩니다.
& 연산자는 피연산자가 정수이면 비트 논리 연산을 , boolen 타입이면 일반 논리 연산을 합니다.
- a |= b ;
변수 a 와 b를 | 연산 후 그 결과를 a에 대입합니다.
a = a | b 와 같은 결과가 나옵니다.
| 연산자도 &연산자와 동일하게 피연산자가 정수이면 비트 논리 연산을 , boolen 타입이면 일반 논리 연산을 합니다.
- a ^= b ;
변수 a 와 b를 ^연산합니다. 그 결과는 a에 저장됩니다.
a = a ^ b 와 동일한 결과가 나옵니다.
^ 연산자도 & , | 연산자와 마찬가지로 피연산자가 정수 타입이면 비트 논리 연산을 , boolen 타입이면 일반 논리 연산을 합니다.
- a <<= b ;
피 연산자 a를 b만큼 비트 이동 연산한 후에 그 결과 값을 a에 저장합니다.
a = a<<=b와 같습니다. - a >>= b ;
피 연산자 a를 b만큼 우측으로 비트 이동 연산 합니다. 그 값을 a에 대입합니다.
a = a>>= b ; 와 동일합니다. - a >>>= b ;
피 연산자 a를 b만큼 우측으로 비트 이동한 값을 a에 저장합니다.
a = a>>>= b ; 와 같은 결과가 나옵니다
대입 연산자 연산 순위와 방향
대입 연산자는 다른 연산자들 보다 후 순위입니다. 그래서 , 마지막에 연산 과정이 이루어집니다.
그리고 연산 방향은 우측에서 좌측입니다.
아래 예제를 봅시다.
아래 예제를 봅시다.
A = B = C = 7 ;
위의 예제는 오른쪽에서 왼쪽으로 연산이 되므로 C =7 , B = C , A = B의 순서로 연산이 진행됩니다.
또 다른 예제를 봅시다.
public class Example {
public static void main(String[ ] args) {
int number = 0; // 변수 number 선언과 초기화
number +=10; //복합 대입 연산자 +=
System.out.
number -= 5;
System.out.println("number=" + number);
number *= 3;
System.out.println("number=" + number);
number /= 5;
System.out.println("number=" + number);
number %= 3;
System.out.println("number=" + number);
}
}
실행 결과는 다음과 같습니다.
number=10
number=5
number=15
number=3
number=0
'IT > Java' 카테고리의 다른 글
if문(자바 조건문) (0) | 2020.04.22 |
---|---|
삼항 연산자(조건 연산자) (0) | 2020.04.21 |
비트 연산자 (0) | 2020.04.20 |
논리 연산자 (0) | 2020.04.18 |
비교 연산자 (0) | 2020.04.16 |