"대입연산자"의 두 판 사이의 차이
(→특징) |
|||
(사용자 4명의 중간 판 10개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | 대입 | + | '''대입연산자'''<!--대입 연산자-->는 두 개의 피연산자를 필요로 하며, 특정한 상수값이나 변수값, 객체를 변수에 전달하여 기억시켜주는 [[연산자]]이다.<ref name="대입 및 복합 연산자">〈[https://m.blog.naver.com/PostView.nhn?blogId=jin750226&logNo=120193956888&proxyReferer=https:%2F%2Fwww.google.com%2F 대입연산자]〉, 《자바 대입연산자*복합 대입연산자》,2013-07-12</ref> 또한, 자바에서는 대입연산자와 다른 연산자를 결합하여 만든 복합 대입연산자를 제공한다.<ref name='대입연산자 개요'>TCPSchool, 〈[http://tcpschool.com/java/java_operator_assignment 대입연산자]〉</ref> 두 연산자 모두 결합 방향은 오른쪽에서 왼쪽으로 동일하다. |
== 개요 == | == 개요 == | ||
− | + | 대입연산자는 연산 후 결과를 대입하는 연산식을 간략하게 입력할 수 있도록 하는 연산자이다. 대입연산자에는 '+= -= *= /= %= <<= >>='가 있다. 자바에서는 대입연산자와 다른 연산자를 결합하여 만든 다양한 복합 대입연산자를 제공한다. | |
+ | <ref name="복합 대입연산자">〈[http://tcpschool.com/php/php_operator_assignment 복합 대입연산자]〉, 《 대입연산자》,</ref> | ||
+ | 대입 연산은 좌항의 표현으로 관리하는 변수에 설정하는 연산이기 때문에 좌항에는 상수가 올 수 없다. 또한, 대입 연산은 우선순위가 가장 낮은 연산이기 때문에 복합 계산을 할 때 유의해야 한다. | ||
+ | <ref name="대입연산자">〈[http://ehpub.co.kr/java-2-2-6-%EB%8C%80%EC%9E%85-%EC%97%B0%EC%82%B0%EC%9E%90/ 대입연산자,복합 대입연산자]〉, 《 대입연산자》,</ref> | ||
== 특징 == | == 특징 == | ||
− | === | + | === 구성 === |
− | :{|class=wikitable width=700 style="background-color:white" | + | ====단순 대입연산자==== |
− | |+ | + | 단순 대입 연산의 경우 우측 표현식의 값을 좌항에 설정하는 연산이다. |
− | !align=center"| | + | <ref name="대입연산자"/> |
+ | :{|class=wikitable width=700 style="background-color:white; margin:0 auto;" | ||
+ | |+대입연산자 | ||
+ | !align=center"|대입연산자 | ||
!align=center"|설명 | !align=center"|설명 | ||
|- | |- | ||
16번째 줄: | 22번째 줄: | ||
|} | |} | ||
− | ===복합 | + | ====복합 대입연산자==== |
− | 복합 | + | 복합 대입연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, |
− | + | <ref name="대입연산자"/> | |
− | :{|class=wikitable width= | + | 자기 자신과 우측 피연산자 사이에 특정 연산을 수행한 결과를 좌항에 설정하는 연산이다. |
− | |+ | + | <ref name="복합 대입연산자"/> |
− | !align=center"|복합 | + | 변수명이 길 경우 타이핑하는 것에 있어 번거로우며 오타 가능성이 있기 때문에 업무 효율성을 높이기 위해 만들어 낸 것이다. |
+ | <ref name="대입 및 복합 연산자"/> | ||
+ | :{|class=wikitable width=850 style="background-color:white; margin:0 auto;" | ||
+ | |+복합 대입연산자 | ||
+ | !align=center"|복합 대입연산자 | ||
!align=center"|설명 | !align=center"|설명 | ||
|- | |- | ||
|align=center|+= | |align=center|+= | ||
− | | | + | |왼쪽 피연산자에 오른쪽 피연산자를 더한 후, 왼쪽 피연산자에 대입 |
|- | |- | ||
|align=center|-= | |align=center|-= | ||
− | | | + | |왼쪽 피연산자에서 오른쪽 피연산자를 뺀 후, 왼쪽 피연산자에 대입 |
|- | |- | ||
|align=center|*= | |align=center|*= | ||
− | | | + | |왼쪽 피연산자에 오른쪽 피연산자를 곱한 후, 왼쪽 피연산자에 대입 |
|- | |- | ||
|align=center|/= | |align=center|/= | ||
− | | | + | |왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 왼쪽 피연산자에 대입 |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|align=center|%= | |align=center|%= | ||
− | | | + | |왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 그 나머지를 왼쪽 피연산자에 대입 |
− | |||
− | |||
− | |||
|- | |- | ||
|align=center|&= | |align=center|&= | ||
− | | | + | |왼쪽 피연산자를 오른쪽 피연산자와 비트 AND 연산한 후, 그 결괏값을 왼쪽 피연산자에 대입 |
|- | |- | ||
|align=center| |= | |align=center| |= | ||
− | | | + | |왼쪽 피연산자를 오른쪽 피연산자와 비트 OR 연산한 후, 그 결괏값을 왼쪽 피연산자에 대입 |
|- | |- | ||
|align=center|^= | |align=center|^= | ||
− | |왼쪽 | + | |왼쪽 피연산자를 오른쪽 피연산자와 비트 XOR 연산한 후, 그 결괏값을 왼쪽 피연산자에 대입 |
|- | |- | ||
|align=center|<<= | |align=center|<<= | ||
− | | | + | |왼쪽 피연산자를 오른쪽 피연산자만큼 왼쪽 시프트한 후, 그 결괏값을 왼쪽 피연산자에 대입 |
|- | |- | ||
|align=center|>>= | |align=center|>>= | ||
− | | | + | |왼쪽 피연산자를 오른쪽 피연산자만큼 오른쪽 시프트한 후, 그 결괏값을 왼쪽 피연산자에 대입 |
|- | |- | ||
|align=center|>>>= | |align=center|>>>= | ||
− | | | + | |왼쪽 피연산자를 오른의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽 피연산자에 대입 |
|- | |- | ||
|} | |} | ||
− | ===예제=== | + | ====예제==== |
− | + | :{|class=wikitable width=700 style="background-color:white; margin:0 auto;" | |
− | :{|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"|연산자<ref name=' | ||
!align=center"|사용 예 | !align=center"|사용 예 | ||
!align=center"|결과 | !align=center"|결과 | ||
81번째 줄: | 78번째 줄: | ||
|align=center| = | |align=center| = | ||
|x = 1 | |x = 1 | ||
− | |1 | + | |align=center|1 |
|- | |- | ||
|align=center| += | |align=center| += | ||
− | |x = 3;<br>x += 2 | + | |x = 3;<br>x += 2 // x = x + 2 |
− | |5 | + | |align=center|5 |
|- | |- | ||
|align=center| -= | |align=center| -= | ||
− | |x = 3; <br>x-=2 | + | |x = 3; <br>x-=2 // x = x - 2 |
− | |1 | + | |align=center|1 |
|- | |- | ||
|align=center| *= | |align=center| *= | ||
− | |x = 3; <br> x*=2 | + | |x = 3; <br> x*=2 // x = x * 2 |
− | |6 | + | |align=center|6 |
|- | |- | ||
|align=center| /= | |align=center| /= | ||
− | |x = 3; <br> x/=2 | + | |x = 3; <br> x/=2 // x = x / 2 |
− | |1.5 | + | |align=center|1.5 |
|- | |- | ||
|align=center| %= | |align=center| %= | ||
− | |x = 3; <br> x %= 2 | + | |x = 3; <br> x %= 2 // x = x % 2 |
− | |1 | + | |align=center|1 |
|- | |- | ||
|align=center| &= | |align=center| &= | ||
− | |x = 10; <br> x &= 5 | + | |x = 10; <br> x &= 5 // x = x & 5 |
− | |0 | + | |align=center|0 |
|- | |- | ||
|align=center| |= | |align=center| |= | ||
− | |x = 10; <br> x l= 5 | + | |x = 10; <br> x l= 5 |
− | |15 | + | |align=center|15 |
|- | |- | ||
|align=center| ^= | |align=center| ^= | ||
− | |x = 10; <br> x ^= 5 | + | |x = 10; <br> x ^= 5 // x = x ^ 5 |
− | |15 | + | |align=center|15 |
|- | |- | ||
|align=center| <<= | |align=center| <<= | ||
− | |x = 10; <br> x<<= 2 | + | |x = 10; <br> x<<= 2 // x = x << 2 |
− | |20 | + | |align=center|20 |
|- | |- | ||
|align=center| >>= | |align=center| >>= | ||
− | |x = 10; <br>x >>= 1 | + | |x = 10; <br>x >>= 1 // x = x >> 1 |
− | |5 | + | |align=center|5 |
|- | |- | ||
|align=center| >>>= | |align=center| >>>= | ||
− | |x = 10; <br> x >>>= 2 | + | |x = 10; <br> x >>>= 2 // x = x >>> 2 |
− | |2 | + | |align=center|2 |
|- | |- | ||
|} | |} | ||
− | + | [코드] | |
int num1 = 7, num2 = 7, num3 = 7; | int num1 = 7, num2 = 7, num3 = 7; | ||
− | |||
num1 = num1 - 3; | num1 = num1 - 3; | ||
num2 -= 3; | num2 -= 3; | ||
− | num3 =- 3; | + | num3 = -3; |
− | + | System.out.println("= 연산자에 의한 결과 : "+ num1); | |
− | System.out.println(" | ||
System.out.println("-= 연산자에 의한 결과 : "+ num2); | System.out.println("-= 연산자에 의한 결과 : "+ num2); | ||
− | System.out.println("= | + | System.out.println("= 연산자에 의한 결과 : "+ num3); |
− | 실행결과 | + | [실행결과] |
− | + | = 연산자에 의한 결과 : 4 | |
-= 연산자에 의한 결과 : 4 | -= 연산자에 의한 결과 : 4 | ||
− | = | + | = 연산자에 의한 결과 : -3 |
{{각주}} | {{각주}} | ||
== 참고자료 == | == 참고자료 == | ||
− | * 〈[http://tcpschool.com/php/php_operator_assignment | + | * 〈[http://tcpschool.com/php/php_operator_assignment 대입연산자]〉, 《TCPSCHOOL》 |
− | * 〈[http://tcpschool.com/java/java_operator_assignment | + | * 〈[http://tcpschool.com/java/java_operator_assignment 대입연산자 (Java)]〉, 《TCPSCHOOL》 |
+ | * 2.2.6 대입연산자〈[http://ehpub.co.kr/java-2-2-6-%EB%8C%80%EC%9E%85-%EC%97%B0%EC%82%B0%EC%9E%90/ 대입연산자, 복합 연산자]〉, 《EHPUB》, 2016-11-27 | ||
+ | * 〈[https://m.blog.naver.com/PostView.nhn?blogId=jin750226&logNo=120193956888&proxyReferer=https:%2F%2Fwww.google.com%2F 대입연산자]〉, 《EHPUB》, 2013-07-12 | ||
− | == | + | == 같이 보기 == |
* [[연산자]] | * [[연산자]] | ||
* [[논리연산자]] | * [[논리연산자]] |
2021년 4월 2일 (금) 21:56 기준 최신판
대입연산자는 두 개의 피연산자를 필요로 하며, 특정한 상수값이나 변수값, 객체를 변수에 전달하여 기억시켜주는 연산자이다.[1] 또한, 자바에서는 대입연산자와 다른 연산자를 결합하여 만든 복합 대입연산자를 제공한다.[2] 두 연산자 모두 결합 방향은 오른쪽에서 왼쪽으로 동일하다.
개요[편집]
대입연산자는 연산 후 결과를 대입하는 연산식을 간략하게 입력할 수 있도록 하는 연산자이다. 대입연산자에는 '+= -= *= /= %= <<= >>='가 있다. 자바에서는 대입연산자와 다른 연산자를 결합하여 만든 다양한 복합 대입연산자를 제공한다. [3] 대입 연산은 좌항의 표현으로 관리하는 변수에 설정하는 연산이기 때문에 좌항에는 상수가 올 수 없다. 또한, 대입 연산은 우선순위가 가장 낮은 연산이기 때문에 복합 계산을 할 때 유의해야 한다. [4]
특징[편집]
구성[편집]
단순 대입연산자[편집]
단순 대입 연산의 경우 우측 표현식의 값을 좌항에 설정하는 연산이다. [4]
대입연산자 대입연산자 설명 = 오른쪽 값을 왼쪽에 복사
복합 대입연산자[편집]
복합 대입연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, [4] 자기 자신과 우측 피연산자 사이에 특정 연산을 수행한 결과를 좌항에 설정하는 연산이다. [3] 변수명이 길 경우 타이핑하는 것에 있어 번거로우며 오타 가능성이 있기 때문에 업무 효율성을 높이기 위해 만들어 낸 것이다. [1]
복합 대입연산자 복합 대입연산자 설명 += 왼쪽 피연산자에 오른쪽 피연산자를 더한 후, 왼쪽 피연산자에 대입 -= 왼쪽 피연산자에서 오른쪽 피연산자를 뺀 후, 왼쪽 피연산자에 대입 *= 왼쪽 피연산자에 오른쪽 피연산자를 곱한 후, 왼쪽 피연산자에 대입 /= 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 왼쪽 피연산자에 대입 %= 왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 그 나머지를 왼쪽 피연산자에 대입 &= 왼쪽 피연산자를 오른쪽 피연산자와 비트 AND 연산한 후, 그 결괏값을 왼쪽 피연산자에 대입 |= 왼쪽 피연산자를 오른쪽 피연산자와 비트 OR 연산한 후, 그 결괏값을 왼쪽 피연산자에 대입 ^= 왼쪽 피연산자를 오른쪽 피연산자와 비트 XOR 연산한 후, 그 결괏값을 왼쪽 피연산자에 대입 <<= 왼쪽 피연산자를 오른쪽 피연산자만큼 왼쪽 시프트한 후, 그 결괏값을 왼쪽 피연산자에 대입 >>= 왼쪽 피연산자를 오른쪽 피연산자만큼 오른쪽 시프트한 후, 그 결괏값을 왼쪽 피연산자에 대입 >>>= 왼쪽 피연산자를 오른의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽 피연산자에 대입
예제[편집]
대입연산자 연산자[5] 사용 예 결과 = x = 1 1 += x = 3;
x += 2 // x = x + 25 -= x = 3;
x-=2 // x = x - 21 *= x = 3;
x*=2 // x = x * 26 /= x = 3;
x/=2 // x = x / 21.5 %= x = 3;
x %= 2 // x = x % 21 &= x = 10;
x &= 5 // x = x & 50 |= x = 10;
x l= 515 ^= x = 10;
x ^= 5 // x = x ^ 515 <<= x = 10;
x<<= 2 // x = x << 220 >>= x = 10;
x >>= 1 // x = x >> 15 >>>= x = 10;
x >>>= 2 // x = 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》
- 2.2.6 대입연산자〈대입연산자, 복합 연산자〉, 《EHPUB》, 2016-11-27
- 〈대입연산자〉, 《EHPUB》, 2013-07-12
같이 보기[편집]