8. 연산자 (Operator)
8. 연산자 (Operator) 본문
이번 강의에서 배우고자 하는 목표:
- 단항 / 삼항 연산자를 사용 가능
- 산술, 관계, 논리, 비트 연산자를 사용 가능
- 연산자의 우선 순위를 사용 가능
프로그래밍에서 계산은 가장 기본적이면서도 중요한 요소라 할 수 있습니다. 프로그래밍 언어에서 계산은 연산자의 사용으로 이루어집니다.
단항 연산자 = 항이 하나인 연산자입니다. 단항 연산자의 여러가지 종류는 이와 같습니다:
* 항 = 연산의 대상이 되는 변수, 상수 혹은 식을 의미합니다.
- 증감 연산자 = ++, --
++는 피연산자의 값을 1 증가시키고, --는 피연산자의 값을 1 감소시킵니다.
* 단항 연산자는 피연산자의 왼쪽에 위치하는 게 기본이지만, 증감 연산자는 왼쪽에 있든 오른쪽에 있든 단독으로 있을 경우에는 상관이 없습니다. 그러나 다른 수식에 포함되거나 어떤 함수의 매개변수로 사용될 때는 차이가 있습니다. 증감 연산자가 왼쪽에 올 때에는 연산 후 변수에 저장하며 증감 연산자가 오른쪽에 올 때에는 변수에다가 연산을 하는 것 이기 때문입니다.
- 부호 연산자 = +, -
부호 연산자는 피연산자의 부호를 변경합니다. +는 곱하기 1, -는 곱하기 -1과도 같습니다.
- 비트별 NOT 연산자 = ~
2진수에서 0은 1로 1은 0으로 바꿉니다. 정수형과 문자형에만 사용가능합니다.
- 논리부정 연산자 = !
논리 부정 연산자는 논리형에만 사용할 수 있고, true를 false로, 그리고 false를 true로 바꿀 수 있습니다.
이항 연산자 = 산술 연산자인 사칙 연산자, 나머지 연산자, 쉬프트 연산자 등 항이 두개인 연사자입니다.
- 사칙 연산자 = +, -, *, /
산수에서 사용되는 더하기, 빼기, 곱하기, 나누기와 같으며 우선순위도 곱하기=나누기 > 더하기=빼기로 산수에서 배운 익숙한 우선순위와 같습니다.
- 나머지 연산자 = %
좌측 피연산자를 우측 피연선자로 나눈 값의 나머지 값을 돌려주는 연산자입니다. 논리형에 사용할 수 없습니다.
- 쉬프트 연산자 = <<, >>, >>>
쉬프트 연산자는 정수형 변수에 사용하는 데 정수형 데이터를 2진수로 표현했을 때 피연산자의 각 자리를 오른쪽이나 왼쪽으로 이동할 수 있습니다; 왼쪽이나 오른쪽으로 n 만큼 이동한다면 2^n만큼 곱하거나 나눈 결과가 나오게 됩니다.
x << n = x * 2^n
x >> n = x / 2^n
관계 연산자 혹은 비교 연산자 =
왼쪽 항이 오른쪽 항에 대해 가지는 관계가 >, <, >=, <=, =, !=로 표현되었을 때 옳을 경우 true, 틀릴경우 false를 검출 할 수 있습니다.
"x > y" = x가 y보다 큽니다.
"x < y" = x가 y보다 작습니다.
"x >= y" = x가 y보다 크거나 같습니다.
"x <= y" = x가 y보다 작거나 같습니다.
"x == y" = x가 y랑 같습니다.
"x != y" = x가 y랑 다릅니다.
논리 연산자 = 논리형 데이터, 즉 논리형 피연산자나 논리형 값을 결과로 하는 조건식에만 사용할 수 있습니다.
&& = AND 결합 = 두 논리형 값 전부 true면 true
|| = OR 결합 = 두 논리형 값 중 하나가 true면 true
* true가 아니라면 false
비트 단위 연산자 = 값을 2진수로 표현했을 때 값이 1인지 0인지를 가지고 계산하는 연산자입니다.
& = AND 연산자 = 양 쪽 값 모두 1이면 1
| = OR 연산자 = 양 쪽 값 중 한 쪽이 1이면 1
^ = XOR 연산자 = 양 쪽 값이 서로 다를 때는 1
* 1이 아니라면 0
치환 연산자 = 오른쪽 항의 값을 왼쪽으로 치환합니다. (=, +=, -=, *=, /=, %=, ^=, |=, &=)
삼항 연산자 = 연산을 위해 항이 3개가 필요한 연산자입니다.
첫번째 방식 =
조건문 ? 식1 : 식2
* 조건문이 true면 식1을 리턴, false면 식2를 리턴합니다.
두번째 방식 =
if (조건문) {
식1
} else {
식2
}
* 마찬가지로 조건문이 true면 식1을 리턴, false면 식2를 리턴합니다.
다음 강의 (9. 조건문과 반복문)