December 23, 2021
연산자는 연산을 수행하는 기호를 뜻한다
operator : 연산을 수행하는 기호 (+, -, *, / )
operand : 연산자의 작업 대상 (변수, 상수, 리터럴, 수식)
단항연산자 (←)
산술연산자 (→)
비교연산자 (→)
논리연산자 (→)
삼항연산자 (→)
대입연산자 (←)
전위형
값이 참조되기 전에 증가시킨다
j = ++i;
// 이 식은 아래와 같다.
++i;
j = i;
후위형
값이 참조된 후에 증가시킨다
j = i++;
//이 식은 아래와 같다.
j = i;
i++;
효율적인 연산
OR 연산 || 의 경우 좌측 피연산자가 ‘true’ 이면 우측 피연산자의 값은 평가하지 않는다
AND 연산 &&의 경우 좌측 피연산자가 ‘false’ 이면 우측 피연산자의 값은 평가하지 않는다.
→ 따라서 피연산자의 위치에 따라 연산속도가 달라지며, OR연산의 경우 연산결과가 ‘참’일 확률이 높은 피연산자를 왼족에 놓아야 더 빠른 연산결과를 얻을 수 있다.
| (OR연산자) : 피연산자 중 한 쪽의 값이 1이면, 1을 결과로 얻는다. 그외에는 0을 얻는다.
& (AND연산자) : 피연산자 중 양 쪽이 모두 1이어야만 1을 결과로 얻는다. 그외에는 0을 얻는다.
^ (XOR연산자) : 피연산자의 값이 서로 다를 때만 1을 결과로 얻는다. 같을 떄는 0을 얻는다.
~ (NOT연산자) : 피연산자를 2진수로 표현했을 때 0은 1로, 1은 0으로 바꿔준다. !와 비슷하다.
피연산자의 각자리를 오른쪽(>>), 또는 왼쪽(<<)으로 이동한다.
8 << 2 //8의 2진수를 왼쪽으로 2자리 이동한다 즉 8 * 2^2의 역할
x << n // x * 2^n
x >> n // x / 2^n