"대입연산자"의 두 판 사이의 차이
72번째 줄: | 72번째 줄: | ||
===예제=== | ===예제=== | ||
+ | |||
+ | :{|class=wikitable width=700 style="background-color:white" | ||
+ | |+ | ||
+ | !align=center"|연산자<ref name='대입 연산자 예제'>SlideShare, 〈[https://www.slideshare.net/rippertnt/start-iot-with-javascript-2 대입 연산자 예제]〉</ref> | ||
+ | !align=center"|사용 예 | ||
+ | !align=center"|결과 | ||
+ | |- | ||
+ | |align=center| = | ||
+ | |x = 1 | ||
+ | |1 | ||
+ | |- | ||
+ | |align=center| += | ||
+ | |x = 3;<br>x += 2 | ||
+ | |5 | ||
+ | |- | ||
+ | |align=center| -= | ||
+ | |x = 3; <br>x-=2 | ||
+ | |1 | ||
+ | |- | ||
+ | |align=center| *= | ||
+ | |x = 3; <br> x*=2 | ||
+ | |6 | ||
+ | |- | ||
+ | |align=center| /= | ||
+ | |x = 3; <br> x/=2 | ||
+ | |1.5 | ||
+ | |- | ||
+ | |align=center| %= | ||
+ | |x = 3; <br> x %= 2 | ||
+ | |1 | ||
+ | |- | ||
+ | |align=center| &= | ||
+ | |x = 10; <br> x &= 5 | ||
+ | |0 | ||
+ | |- | ||
+ | |align=center| |= | ||
+ | |x = 10; <br> x l= 5 | ||
+ | |15 | ||
+ | |- | ||
+ | |align=center| ^= | ||
+ | |x = 10; <br> x ^= 5 | ||
+ | |15 | ||
+ | |- | ||
+ | |align=center| <<= | ||
+ | |x = 10; <br> x<<= 2 | ||
+ | |20 | ||
+ | |- | ||
+ | |align=center| >>= | ||
+ | |x = 10; <br>x >>= 1 | ||
+ | |5 | ||
+ | |- | ||
+ | |align=center| >>>= | ||
+ | |x = 10; <br> x >>>= 2 | ||
+ | |2 | ||
+ | |- | ||
+ | |} | ||
+ | |||
int num1 = 7, num2 = 7, num3 = 7; | int num1 = 7, num2 = 7, num3 = 7; |
2020년 8월 10일 (월) 13:04 판
대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽이다.[1]
개요
대입 연산자는 연산 후 결과를 대입하는 연산식을 간략하게 입력할 수 있도록 하는 연산자이다. 대입연산자에는 '+= -= *= /= %= <<= >>='가 있다. 자바에서는 대입 연산자와 다른 연산자를 결합하여 만든 다양한 복합 대입 연산자를 제공한다.[2]
특징
대입 연산자
대입 연산자 설명 = 오른쪽 값을 왼쪽에 복사
복합 대입 연산자
복합 대입 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽이다.[1]
복합 대입 연산자 설명 += 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 왼쪽의 피연산자에 대입 -= 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 왼쪽의 피연산자에 대입 *= 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 왼쪽의 피연산자에 대입 /= 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 왼쪽의 피연산자에 대입 %= 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입 .= 왼쪽 피연산자의 문자열에 오른쪽 피연산자의 문자열을 추가한 후, 왼쪽의 피연산자에 대입 <<= 왼쪽의 피연산자의 비트를 오른쪽의 피연산자만큼 전부 왼쪽으로 이동시킨 후, 그 결과를 왼쪽의 피연산자에 대입 %= 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입 >>= 왼쪽의 피연산자의 비트를 부호를 유지하면서 오른쪽의 피연산자만큼 전부 오른쪽으로 이동시킨 후, 그 결과를 왼쪽의 피연산자에 대입 &= 왼쪽의 피연산자와 오른쪽의 피연산자의 논리식이 모두 true면 왼쪽 피연산자에 true을 대입하고, 그 외에는 false을 대입 |= 왼쪽의 피연산자나 오른쪽의 피연산자의 논리식 중 하나라도 true면 왼쪽 피연산자에 true을 대입하고, 그 외에는 false을 대입 ^= 왼쪽 피연산자의 논리식과 오른쪽 피연산자의 논리식이 서로 다르면 왼쪽 피연산자에 true을 대입하고, 그 외에는 false을 대입 <<= 왼쪽의 피연산자를 오른쪽의 피연산자만큼 왼쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입 >>= 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호를 유지하며 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입 >>>= 왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입
예제
연산자[3] 사용 예 결과 = x = 1 1 += x = 3;
x += 25 -= x = 3;
x-=21 *= x = 3;
x*=26 /= x = 3;
x/=21.5 %= x = 3;
x %= 21 &= x = 10;
x &= 50 |= x = 10;
x l= 515 ^= x = 10;
x ^= 515 <<= x = 10;
x<<= 220 >>= x = 10;
x >>= 15 >>>= x = 10;
x >>>= 22
int num1 = 7, num2 = 7, num3 = 7;
num1 = num1 - 3; num2 -= 3; num3 =- 3;
System.out.println("- 연산자에 의한 결과 : "+ num1); System.out.println("-= 연산자에 의한 결과 : "+ num2); System.out.println("=- 연산자에 의한 결과 : "+ num3);
실행결과
- 연산자에 의한 결과 : 4 -= 연산자에 의한 결과 : 4 =- 연산자에 의한 결과 : -3
각주
참고자료
- 〈대입 연산자〉, 《TCPSCHOOL》
- 〈대입 연산자 (Java)〉, 《TCPSCHOOL》
같이보기