* 연산자: 수학의 +, -와 같은 기호. C#엔 산술연산만 있는 건 아니다.
비교 연산자: 값을 비교할 때 사용.
논리 연산자: 조건을 판단할 때 사용.
-연산자에는 우선순위가 있다: 수학에 덧셈, 뺄셈보다 곱셈, 나눗셈이 먼저 계산되듯. 괄호로 우선순위를 정할 수 있다.
연산자 | 기능 | 사용법 | 의미 |
+ | 덧셈 | a = b + c | b와 c를 더한 값을 a에 대입 |
- | 뺄셈 | a = b - c | b에서 c를 뺀 값을 a에 대입 |
*(애스터리스크) | 곱셈 | a = b * c | b와 c를 곱한 값을 a에 대입 |
/ | 나눗셈 | a = b / c | b를 c로 나눈 값을 a에 대입(c가 0일 때에는 오류) |
% | 나머지 | a = b % c | b를 c로 나눈 나머지를 a에 대입 (정수형과 실수형에 모두 사용 가능) |
= | 대입 | a = b | b의 값을 a에 대입 좌변을 변수, 우변을 값으로 간주. (수학처럼 둘이 같단 의미가 아님!!) |
* 대입 연산자: 대입과 연산을 동시에 하는 연산자.
대입 연산자 | 기능 | 사용법 | 의미 |
+= | 더해서 대입 | a += b | a+b의 결과를 a에 대입 (a = a + b) |
-= | 빼서 대입 | a -= b | a-b의 결과를 a에 대입 (a = a - b) |
*= | 곱해서 대입 | a *= b | a*b의 결과를 a에 대입 (a = a * b) |
/= | 나누어서 대입 | a /= b | a/b의 결과를 a에 대입 (a = a / b) |
%= | 나머지를 대입 | a %= b | a%b의 결과를 a에 대입 (a = a % b) |
* 증가 / 감소 연산자
증가 / 감소 연산자 | 기능 | 사용법 | 의미 |
++ | 변수의 값을 1 증가시킴 | a++ 또는 ++a | a의 값을 1 증가시킴 |
-- | 변수의 값을 1 감소시킴 | a-- 또는 --a | a의 값을 1 감소시킴 |
증가 / 감소 연산자에는 전치(++a, --a)와 후치(a++, a--)가 있다. 차이점은 연산의 수행 타이밍
전치: 변수의 참조보다 앞에 연산이 수행.
int x, a = 1;
x = ++a;
→a에 1을 더한 후 x에 값을 대입한다. x의 값은 2.
후치: 변수의 참조보다 뒤에 연산이 수행.
int x, a = 1;
x = a++;
→x에 값을 대입한 후 a에 1을 더한다. x의 값은 1.
전치한 a값이 2가 되는 것은 이해했다.
근데 후치한 b의 값은 왜 1인 것일까?
1) 후치로 b++이 됐는데 대입하지 않아서.
2) 후치로 b++이 되면 연산자 이후에나 대입이 되기 때문에. ←이게 맞는 듯? 문장 이후의 b값은 2로 도출됨.
'메타버스기반게임콘텐츠기획 > 스터디(C#이 보이는 그림책)' 카테고리의 다른 글
2장, 연산자 (문제) (0) | 2021.11.17 |
---|---|
2장, 연산자 (2-2) (0) | 2021.11.17 |
1장, 기본적인 프로그램 (문제) (0) | 2021.11.17 |
1장, 기본적인 프로그램 (1-3) (0) | 2021.11.16 |
1장, 기본적인 프로그램 (1-2) (0) | 2021.11.16 |