연산자(operator) – 1편

math

1.대입 연산자

대입 연산자의 기호는 = 이다. 수학에서는 동일하다는 의미이지만 프로그래밍 언어에서는 일반적으로 = 우측의 값을 좌측의 변수에 대입한다는 뜻으로 사용 된다. 연산 방향은 우측에서 좌측이다. 예컨대,
int number = 20 ;
=기호 우측의 값을 좌측의 변수 number 에 대입한다.

2.복합 대입 연산자

대입 연산자와 다른 연산자가 결합된 연산자이다.
+= , -=, *= , /= , %= , &=, ^= , |= . <<= . >>=
위의 복합 대입 연산자 중에서 산술 연산자와 결합한 연산자들의 의미는 다음과 같다.

x += yx= x+y
x-=yx=x-y
x*=yx=x*y
x/=yx=x/y
x%=yx=x%y
복합 대입 연산자 표

3.산술 연산자

일반적인 사칙 연산과 나머지 연산자를 의미한다.

연산자연산자의 역할연산 방향
덧셈(+)두 피 연산자의 값을 더한다. int a = 1+2 ;왼쪽에서 오른쪽으로
뺄셈(-)두 피 연산자의 값을 뺀다. int b = 1-2 ;왼쪽에서 오른쪽으로
곱셈(*)두 피 연산자의 값을 곱한다. int c = 1*2 ;왼쪽에서 오른쪽으로
나눗셈(/)좌측 피 연산자의 값을 우측 피 연산자로 나눈다.
int d = 4/2 ;
왼쪽에서 오른쪽으로
나머지(%)좌측 피 연산자의 값을 우측 피 연산자로 나눈 나머지를 산출한다. int e = 5%3 ;왼쪽에서 오른쪽으로
산술 연산자 표

4.부호 연산자

여기서 + , -는 덧셈과 뺄셈을 의미하는 것이 아니라 양수 ,음수를 뜻한다. 즉 , 피 연산자가 두 개이면 이항 연산자로서 일반적인 덧셈과 뺄셈을 의미하고 피 연산자가 한 개이라면 단항 연산자로서 부호 연산자이다.
int a = +1 ;
int b = 1 ;
int c = -1 ;
양수를 표현하기 위해서 반드시 +기호를 써야 하는 것은 아니다. 그러나 위에서 처럼 명확하게 보이기 위해 사용하는 경우도 있다. 그러나 음수라면 반드시 – 기호를 써주어야 한다. 그리고 다음의 경우는 혼동하지 않도록 주의 해야 한다.
int variable = -a ;
int variable -= a ;
윗 줄은 -a를 대입 하는 코드이고 아래의 줄은 복합 대입 연산자 이다. 얼핏 보면 혼동될 수 있으니 잘 보아야 한다.

5.증가, 감소 연산자

이 연산자는 변수의 값을 단순히 1 증가 시키거나 감소 시킨다. 프로그래밍에서 활용도가 매우 높은 단항 연산자이다.

연산자연산자의 역할연산 방향
++a변수a의 값 선 증가, 후 연산<—-
a++선 연산 , 변수a 의 값 후 증가——>
–a변수a 선 감소 , 후 연산<—-
a–선 연산 , 변수a 후 감소—–>
증감 연산자

다음 예제 코드를 보자
int a = 10 ;
int b = (a–) + 2;
실행 결과는 a는 9이고 b는 12이다. a–는 선 연산 후 감소이므로 a+2를 b에 대입하는 연산이 먼저 이행되고 a의 값이 비로소 1 감소 된다. 반대의 경우를 보자
int a = 10 ;
int b = (–a) + 2;
실행 결과는 a는 9 , b는 11이다. –a가 선 감소 , 후 연산이므로 먼저 a값이 1이 감소된 후 a+2 가 연산 되기 때문이다.