연산자

다음 표에는 우선순위에 따라 모든 사용자 언어 연산자가 나열되어 있습니다. 단항의 우선순위가 가장 높고, 쉼표의 우선순위가 가장 낮습니다.

단항 ! ~ + - ++ --
곱하기 * / %
가산 + -
이동 << >>
관계 < <= > >=
같음 == !=
비트 AND &
비트 XOR ^
비트 OR `
논리 AND &&
논리 OR `
조건 ?:
지정 = *= /= %= += -= &= ^=
쉼표 ,

결합은 오른쪽에서 왼쪽으로 결합되는 단항, 조건 및 지정을 제외한 모든 연산자에 대해 왼쪽에서 오른쪽으로 진행됩니다.

일반 연산자 우선순위는 괄호를 사용하여 변경할 수 있습니다.

비트 연산자

비트 연산자는 데이터 유형 char 및 int에서만 작동합니다.

단항

~ 비트(1의) 보수

이진

<< 왼쪽으로 이동
>> 오른쪽으로 이동
& 비트 AND
^ 비트 XOR
` `

지정

&= 비트 AND 지정
^= 비트 XOR 지정
` =`
<<= 왼쪽 이동 지정
>>= 오른쪽 이동 지정

논리 연산자

논리 연산자는 어떤 데이터 유형의 표현식에도 작동합니다.

단항

! 논리 NOT

이진

&& 논리 AND
`

논리 연산자에 문자열 표현식을 사용하면 문자열이 비어 있는지 여부가 확인됩니다.

논리 연산자에 객체 유형을 사용하면 해당 객체에 유효한 데이터가 포함되어 있는지 확인됩니다.

비교 연산자

비교 연산자는 객체 유형을 제외한 모든 데이터 유형의 표현식에 작동합니다.

< 작음
<= 작거나 같음
>
>= 크거나 같음
== 같음
!= 같지 않음

평가 연산자

평가 연산자는 조건을 기준으로 표현식을 평가하거나 일련의 표현식을 그룹화하여 하나의 표현식으로 평가하도록 하는 데 사용됩니다.

?: 조건
, 쉼표

조건 연산자는 다음과 같이 표현식 내에서 결정을 내리는 데 사용됩니다.

int a;
// ...code that calculates 'a'
string s = a ? "True" : "False";

이 구문은 기본적으로 다음과 같습니다.

int a;
string s;
// ...code that calculates 'a'
if (a)
   s = "True";
else
   s = "False";

그러나 조건 연산자의 장점은 표현식에 사용할 수 있다는 것입니다.

쉼표 연산자는 오른쪽 피연산자의 유형과 값을 결과로 사용하여 왼쪽에서 오른쪽으로 일련의 표현식을 평가하는 데 사용됩니다.

함수 호출의 인수와 다중 변수 선언도 쉼표를 구분 기호로 사용하지만, 이 경우 이는 쉼표 연산자가 아닙니다!

산술 연산자

산술 연산자는 데이터 유형 char, int 및 real(++, —, % 및 %= 제외)에 작동합니다.

단항

+ 단항 더하기
- 단항 빼기
++ 사전 증가 또는 사후 증가
-- 사전 감소 또는 사후 감소

이진

* 곱하기
/ 등분할
% 나머지(계수)
+ 이진 더하기
- 이진 빼기

지정

= 단순 지정
*= 곱 지정
/= 몫 지정
%= 나머지(계수) 지정
+= 합 지정
-= 차 지정

문자열 연산자

문자열 연산자는 데이터 유형 char, int 및 string에 작동합니다. 왼쪽 피연산자는 항상 유형 string이어야 합니다.

이진

+ 연결

지정

= 단순 지정
+= 문자열에 추가

+ 연산자는 두 문자열을 연결하거나 문자열 끝에 문자를 추가하고 결과 문자열을 반환합니다.

+= 연산자는 지정된 문자열의 끝에 문자열이나 문자를 추가합니다.