교외활동/공모전

연산자

cchucchu 2018. 5. 30. 18:30
반응형

연산자

산술 연산자

+, -, *, /, %

증가/감소 연산자

++, --

관계 연산자

<, >, ==, !=, <=, >=

조건 연산자

?:

논리 연산자

&&, ||, !

비트 연산자

<<, >>, &, |, ^, ~

할당 연산자

=, +=, -=, *=, /=, %=, |=, ^=, <<=, >>=

 

위의 연산자 대부분은 각각 특정 형식에 대해서만 사용이 가능하다.

연산자는 피연산자를 필요로 하고 피연산자는 상수, 변수를 사용할 수 있다.

 

산술 연산자(Arithmetic Operators)

수치 형식의 데이터를 다루는 연산자

+

양쪽 피연산자를 더합니다.

모든 수치 데이터 형식

-

왼쪽 피연산자에서 오른쪽 피연산자를 차감합니다.

모든 수치 데이터 형식

*

양쪽 피연산자를 곱합니다

모든 수치 데이터 형식

/

왼쪽 연산자를 오른쪽 피연산자로 나눈 몫을 구합니다

모든 수치 데이터 형식

%

왼쪽 연산자를 오른쪽 피연산자로 나눈 후의 나머지를 구합니다

모든 수치 데이터 형식

 

수치 형식(정수 형식, 부동 소수점 형식, decimal 형식)에 대해서만 사용이 가능.

* 이항 연산자 : 연산자를 가운데에 피연산자가 양 옆에 위치하여 두 개의 피연산자가 필요한 연산자.

* 연산자의 우선순위 : *, /, %가 우선되고 +, -가 나중에 처리된다.

 

증가 연산자(Increment Operator)와 감소 연산자(Decrement Operator)

++

증가 연산자

피연산자의 값을 1 증가시킨다.

모든 수치 데이터 형식과 열거 형식

--

감소 연산자

피연산자의 값을 1 감소시킨다.

모든 수치 데이터 형식과 열거 형식

 

* 단항 연산자 : 피연산자를 하나만 받는 연산자로 증가/감소 연산자가 해단된다.

증가/감소 연산자를 변수의 뒤에 사용하면 해당 문장의 실행이 끝난 후에 변수의 값이 변경되고 변수의 앞에 사 용하면 변수의 값을 변경한 후에 문장이 실행된다.

@ 전위 증가/감소 연산자 : 변수의 앞에 위치시켜 사용하는 증가/감소 연산자

@ 후위 증가/감소 연산자 : 변수의 뒤에 위치시켜 사용하는 증가/감소 연산자

 

문자열 결합 연산자

문자열과 함께 사용하는 +연산자

ex) string result = “123” + “456”;

실행 결과 : "123456"

 

※ 관계 연산자

두 피연산자 사이의 관계를 확인하는 연산자로 연산 결과는 논리 형식, bool이다.

<

왼쪽 피연산자가 오른쪽 피연산자보다 작으면 참, 아니면 거짓

모든 수치 형식과 열거 형식

>

왼쪽 피연산자가 오른쪽 피연산자보다 크면 참, 아니면 거짓

모든 수치 형식과 열거 형식

<=

왼쪽 피연산자가 오른쪽 피연산자보다 작거나 같으면 참, 아니면 거짓

모든 수치 형식과 열거 형식

>=

왼쪽 피연산자가 오른쪽 피연산자보다 크거나 같으면 참, 아니면 거짓

모든 수치 형식과 열거 형식

==

왼쪽 피연산자가 오른쪽 피연산자와 같으면 참, 아니면 거짓

모든 데이터 형식에 대해 사용 가능

!=

왼쪽 피연산자가 오른쪽 피연산자와 다르면 참, 아니면 거짓

모든 데이터 형식에 대해 사용 가능

string, object 형식도 사용 가능

 

 

 

논리 연산자


→ 참과 거짓으로 이루어지는 진리값이 피연산자인 연산으로 부울 연산이라고도 한다.

논리합 연산 피연산자로 오는 두 개의 진리값 중에 하나라도 참이면 결과가 참이다.

부정 연산 피연산자의 진리값을 반대로 뒤집는다.

 

조건 연산자(Conditional Operator)

조건 연산자 ?:는 피연산자가 세 개이고 첫 번째 매개 변수인 조건식은 결과가 참 또는 거짓의 논리값이어야 하고 조건식의 결과가 참이면 두 번째 매개 변수가 거짓이면 세 번째 매개 변수가 선택된다.

/세 번째 피연산자는 둘의 형식만 같으면 어떤 것이라도 상관없다.

ex) 조건식 ? 참일_때의_: 거짓일_때의_

 

비트 연산자

바이트 단위가 데이터를 다루기에 용이하지만 비트 수준에서 데이터를 가공해야 하는 경우를 위한 연산자이다.

<<

왼쪽 시프트 연산자

첫 번째 피연산자의 비트를 두 번째 피연산자의 수만큼 왼쪽으로 이동시킨다.

첫 번째 피연산자는 int, uint, long, ulong이며 피연산자는 int 형식만 지원한다.

>>

오른쪽 시프트 연산자

첫 번째 피연산자의 비트를 두 번째 피연산자의 수만큼 오른쪽으로 이동시킨다.

<<와 같다.

&

논리곱(AND) 연산자

두 피연산자의 비트 논리곱을 수행한다.

정수 계열 형식과 bool 형식에 대해 사용할 수 있다.

|

논리합(OR) 연산자

두 피연산자의 비트 논리합을 수행한다.

&와 같다.

^

배타적 논리합(XOR) 연산자

두 피연산자의 비트 배타적 논리합을 수행한다.

&와 같다.

~

보수(NOT0 연산자

피연산자의 비트를 01, 10으로 반전시킨다. 단항 연산자이다.

int, uint, long, ulong에 대해 사용이 가능하다.

 

* 시프트 연산자 : 비트를 왼쪽이나 오른쪽으로 이동시키는 기능을 한다.

원본 데이터를 a, 옮긴 비트 수를 b라고 할 때 왼쪽 시프트 연산을 하면 a×2^b의 결과가 오른쪽 시프트 연산을

하면 a÷2^b가 나온다.

* 비트 논리 연산자 : 데이터의 각 비트에 대해 수행하는 논리 연산이다.

비트 덩어리를 이루고 있는 각 비트에 대해 1은 참, 0은 거짓으로 해서 논리 연산을 하는 것이다.

&

논리곱(AND) 연산자

두 피연산자의 비트에 논리곱을 수행한다.

정수 계열 형식과 bool 형식에 대해 사용할 수 있다.

|

논리합(OR) 연산자

두 피연산자의 비트에 논리합을 수행한다.

&와 같다.

^

배타적 논리합(XOR) 연산자

두 피연산자의 비트에 배타적 논리합을 수행한다.

&와 같다.

~

보수(NOT0 연산자

피연산자의 비트에 01, 10으로 반전시킨다. 단항 연산자이다.

int, uint, long, ulong에 대해 사용이 가능하다.

 

할당 연산자(Assignment Operator)

변수 또는 상수에 피연산자 데이터를 할당하는 기능을 한다.

=

할당 연산자

오른쪽 피연산자를 왼쪽 피연산자에게 할당한다.

+=

덧셈 할당 연산자

a += b;a = a + b;와 같다.

-=

뺄셈 할당 연산자

a -= b;a = a - b;와 같다.

*=

곱셈 할당 연산자

a *= b;a = a * b;와 같다.

/=

나눗셈 할당 연산자

a /= b;a = a / b;와 같다.

%=

나머지 할당 연산자

a %= b;a = a % b;와 같다.

&=

논리곱 할당 연산자

a &= b;a = a & b;와 같다.

|=

논리합 할당 연산자

a |= b;a = a | b;와 같다.

^=

배타적 논리합 할당 연산자

a ^= b;a = a ^ b;와 같다.

<<=

왼쪽 시프트 할당 연산자

a <<= b;a = a << b;와 같다.

>>=

오른쪽 시프트 할당 연산자

a >>= b;a = a >> b;와 같다.

 

연산자의 우선순위

1

증가/감소 연산자

후위 ++/-- 연산자

2

증가/감소 연산자

전위 ++/-- 연산자

3

산술 연산자

* / %

4

산술 연산자

+ -

5

시프트 연산자

<< >>

6

관계 연산자

< > <= >= is as

7

관계 연산자

== !=

8

비트 논리 연산자

&

9

비트 논리 연산자

^

10

비트 논리 연산자

|

11

논리 연산자

&&

12

논리 연산자

||

13

조건 연산자

?:

14

할당 연산자

= *= /= %= += <<= >>= &= ^= |=

 

반응형