검수요청.png검수요청.png

"대입연산자"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(같이보기)
(특징)
 
(사용자 4명의 중간 판 14개는 보이지 않습니다)
1번째 줄: 1번째 줄:
대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽이다.<ref name='대입 연산자'>TCPSchool, 〈[http://tcpschool.com/php/php_operator_assignment 대입 연산자]〉</ref>
+
'''대입연산자'''<!--대입 연산자-->는 두 개의 피연산자를 필요로 하며, 특정한 상수값이나 변수값, 객체를 변수에 전달하여 기억시켜주는 [[연산자]]이다.<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='대입 연산자 개요'>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"
+
단순 대입 연산의 경우 우측 표현식의 값을 좌항에 설정하는 연산이다.
|+
+
<ref name="대입연산자"/>
!align=center"|대입 연산자
+
:{|class=wikitable width=700 style="background-color:white; margin:0 auto;"
 +
|+대입연산자
 +
!align=center"|대입연산자
 
!align=center"|설명
 
!align=center"|설명
 
|-
 
|-
17번째 줄: 21번째 줄:
 
|-
 
|-
 
|}
 
|}
===복합 대입 연산자===
 
복합 대입 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽이다.<ref name='대입 연산자'/>
 
  
:{|class=wikitable width=700 style="background-color:white"
+
====복합 대입연산자====
|+
+
복합 대입연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며,
!align=center"|복합 대입 연산자
+
<ref name="대입연산자"/>
 +
자기 자신과 우측 피연산자 사이에 특정 연산을 수행한 결과를 좌항에 설정하는 연산이다.
 +
<ref name="복합 대입연산자"/>
 +
변수명이 길 경우 타이핑하는 것에 있어 번거로우며 오타 가능성이 있기 때문에 업무 효율성을 높이기 위해 만들어 낸 것이다.
 +
<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|%=
 
|align=center|%=
|왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입
+
|왼쪽 피연산자를 오른쪽 피연산자로 나눈 후, 그 나머지를 왼쪽 피연산자에 대입
|-
 
|align=center|>>=
 
|왼쪽의 피연산자의 비트를 부호를 유지하면서 오른쪽의 피연산자만큼 전부 오른쪽으로 이동시킨 후, 그 결과를 왼쪽의 피연산자에 대입
 
 
|-
 
|-
 
|align=center|&=
 
|align=center|&=
|왼쪽의 피연산자와 오른쪽의 피연산자의 논리식이 모두 true면 왼쪽 피연산자에 true을 대입하고, 그 외에는 false을 대입
+
|왼쪽 피연산자를 오른쪽 피연산자와 비트 AND 연산한 후, 그 결괏값을 왼쪽 피연산자에 대입
 
|-
 
|-
 
|align=center| |=
 
|align=center| |=
|왼쪽의 피연산자나 오른쪽의 피연산자의 논리식 중 하나라도 true면 왼쪽 피연산자에 true을 대입하고, 그 외에는 false을 대입
+
|왼쪽 피연산자를 오른쪽 피연산자와 비트 OR 연산한 후, 그 결괏값을 왼쪽 피연산자에 대입
 
|-
 
|-
 
|align=center|^=
 
|align=center|^=
|왼쪽 피연산자의 논리식과 오른쪽 피연산자의 논리식이 서로 다르면 왼쪽 피연산자에 true을 대입하고, 그 외에는 false을 대입
+
|왼쪽 피연산자를 오른쪽 피연산자와 비트 XOR 연산한 후, 그 결괏값을 왼쪽 피연산자에 대입
 
|-
 
|-
 
|align=center|<<=
 
|align=center|<<=
|왼쪽의 피연산자를 오른쪽의 피연산자만큼 왼쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입
+
|왼쪽 피연산자를 오른쪽 피연산자만큼 왼쪽 시프트한 후, 그 결괏값을 왼쪽 피연산자에 대입
 
|-
 
|-
 
|align=center|>>=
 
|align=center|>>=
|왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호를 유지하며 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입
+
|왼쪽 피연산자를 오른쪽 피연산자만큼 오른쪽 시프트한 후, 그 결괏값을 왼쪽 피연산자에 대입
 
|-
 
|-
 
|align=center|>>>=
 
|align=center|>>>=
|왼쪽의 피연산자를 오른쪽의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽의 피연산자에 대입
+
|왼쪽 피연산자를 오른의 피연산자만큼 부호에 상관없이 오른쪽 시프트한 후, 그 결괏값을 왼쪽 피연산자에 대입
 
|-
 
|-
 
|}
 
|}
  
===예제===
+
====예제====
 +
:{|class=wikitable width=700 style="background-color:white; margin:0 auto;"
 +
|+대입연산자
 +
!align=center"|연산자<ref name='대입연산자 예제'>SlideShare, 〈[https://www.slideshare.net/rippertnt/start-iot-with-javascript-2 대입연산자 예제]〉</ref>
 +
!align=center"|사용 예
 +
!align=center"|결과
 +
|-
 +
|align=center| =
 +
|x = 1
 +
|align=center|1
 +
|-
 +
|align=center| +=
 +
|x = 3;<br>x += 2  // x = x + 2
 +
|align=center|5
 +
|-
 +
|align=center| -=
 +
|x = 3; <br>x-=2 // x = x - 2
 +
|align=center|1
 +
|-
 +
|align=center| *=
 +
|x = 3; <br> x*=2 // x = x * 2
 +
|align=center|6
 +
|-
 +
|align=center| /=
 +
|x = 3; <br> x/=2 // x = x / 2
 +
|align=center|1.5
 +
|-
 +
|align=center| %=
 +
|x = 3; <br> x %= 2 // x = x % 2
 +
|align=center|1
 +
|-
 +
|align=center| &=
 +
|x = 10; <br> x &= 5 // x = x & 5
 +
|align=center|0
 +
|-
 +
|align=center| |=
 +
|x = 10; <br> x l= 5
 +
|align=center|15
 +
|-
 +
|align=center| ^=
 +
|x = 10; <br> x ^= 5 // x = x ^ 5
 +
|align=center|15
 +
|-
 +
|align=center| <<=
 +
|x = 10; <br> x<<= 2 // x = x << 2
 +
|align=center|20
 +
|-
 +
|align=center| >>=
 +
|x = 10; <br>x >>= 1 // x = x >> 1
 +
|align=center|5
 +
|-
 +
|align=center| >>>=
 +
|x = 10; <br> x >>>= 2 // x = x >>> 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("- 연산자에 의한 결과 : "+ num1);
 
 
  System.out.println("-= 연산자에 의한 결과 : "+ num2);
 
  System.out.println("-= 연산자에 의한 결과 : "+ num2);
  System.out.println("=- 연산자에 의한 결과 : "+ num3);
+
  System.out.println("= 연산자에 의한 결과 : "+ num3);
  
실행결과
+
[실행결과]
  - 연산자에 의한 결과 : 4
+
  = 연산자에 의한 결과 : 4
 
  -= 연산자에 의한 결과 : 4
 
  -= 연산자에 의한 결과 : 4
  =- 연산자에 의한 결과 : -3
+
  = 연산자에 의한 결과 : -3
  
 
{{각주}}
 
{{각주}}
  
 
== 참고자료 ==
 
== 참고자료 ==
 +
* 〈[http://tcpschool.com/php/php_operator_assignment 대입연산자]〉, 《TCPSCHOOL》
 +
* 〈[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 + 2
5
-= x = 3;
x-=2 // x = x - 2
1
*= x = 3;
x*=2 // x = x * 2
6
/= x = 3;
x/=2 // x = x / 2
1.5
 %= x = 3;
x %= 2 // x = x % 2
1
&= x = 10;
x &= 5 // x = x & 5
0
|= x = 10;
x l= 5
15
^= x = 10;
x ^= 5 // x = x ^ 5
15
<<= x = 10;
x<<= 2 // x = x << 2
20
>>= x = 10;
x >>= 1 // x = x >> 1
5
>>>= x = 10;
x >>>= 2 // x = x >>> 2
2

[코드]

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

각주[편집]

  1. 1.0 1.1 대입연산자〉, 《자바 대입연산자*복합 대입연산자》,2013-07-12
  2. TCPSchool, 〈대입연산자
  3. 3.0 3.1 복합 대입연산자〉, 《 대입연산자》,
  4. 4.0 4.1 4.2 대입연산자,복합 대입연산자〉, 《 대입연산자》,
  5. SlideShare, 〈대입연산자 예제

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 대입연산자 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.