티스토리 뷰

IT/Java

대입 연산자

오예봉봉 2020. 4. 20. 21:32


대입 연산자에는 단순 대입 연산자와 복합 대입 연산자가 있습니다. 

단순 대입 연산자( = )는 대입 연산자 우측의 피연산자 데이터를 좌측의 피연산자에 저장합니다.

복합 대입 연산자(+=, -= , *= , /= , %= . &= , |= , ^= , <<= , >>= , >>>=)는 일정한 연산을 수행한 후에 그 결과 값을 저장합니다.  


단순 대입 연산자

기호는 = 을 사용합니다. 

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.



println("number=" + number);
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