logo

C# | 연산자

연산자는 모든 프로그래밍 언어의 기초입니다. 따라서 기능의 씨# 연산자를 사용하지 않으면 언어가 불완전합니다. 연산자를 사용하면 다양한 종류의 작업을 수행할 수 있습니다. 피연산자 . ~ 안에 씨# , 연산자로 분류될 수 있습니다. 를 기반으로 그들의 다른 기능성 :

C#에서는 연산자를 다음과 같이 분류할 수도 있습니다. 피연산자 수에 따라:

  • 단항 연산자: 걸리는 연산자 하나 연산을 수행하는 피연산자.
  • 바이너리 연산자: 걸리는 연산자 연산을 수행하는 피연산자.
  • 삼항 연산자: 걸리는 연산자 연산을 수행하는 피연산자.

산술 연산자

이는 피연산자에 대한 산술/수학 연산을 수행하는 데 사용됩니다. 그만큼 이진 연산자 이 범주에 속하는 것은 다음과 같습니다.

  • 덧셈: 그만큼 '+' 연산자는 두 개의 피연산자를 추가합니다. 예를 들어, x+y .
  • 빼기: 그만큼 '-' 연산자는 두 개의 피연산자를 뺍니다. 예를 들어, x-y .
  • 곱셈: 그만큼 '*' 연산자는 두 피연산자를 곱합니다. 예를 들어, x*y .
  • 분할: 그만큼 '/' 연산자는 첫 번째 피연산자를 두 번째 피연산자로 나눕니다. 예를 들어, x/y .
  • 계수: 그만큼 '%' 연산자는 첫 번째 피연산자를 두 번째 피연산자로 나눈 나머지를 반환합니다. 예를 들어, x%y .

예:

씨#
// C# program to demonstrate the working  // of Binary Arithmetic Operators using System; namespace Arithmetic {  class GFG  {    // Main Function  static void Main(string[] args)  {    int result;  int x = 10, y = 5;    // Addition  result = (x + y);  Console.WriteLine('Addition Operator: ' + result);    // Subtraction  result = (x - y);  Console.WriteLine('Subtraction Operator: ' + result);    // Multiplication  result = (x * y);  Console.WriteLine('Multiplication Operator: '+ result);    // Division  result = (x / y);  Console.WriteLine('Division Operator: ' + result);    // Modulo  result = (x % y);  Console.WriteLine('Modulo Operator: ' + result);  }  } }>

산출:

Addition Operator: 15 Subtraction Operator: 5 Multiplication Operator: 50 Division Operator: 2 Modulo Operator: 0>

의 범주에 속하는 것들은 단항 연산자 이다:

  • 증가: 그만큼 '++' 연산자는 정수 값을 증가시키는 데 사용됩니다. 변수 이름 앞에 위치할 때(라고도 함) 사전 증분 연산자), 해당 값은 즉시 증가됩니다. 예를 들어, ++x .
    그리고 변수 이름 뒤에 위치할 때(라고도 함) 후증가 연산자 ), 해당 값은 이 문이 실행될 때까지 일시적으로 유지되며 다음 문이 실행되기 전에 업데이트됩니다. 예를 들어, 엑스++ .
  • 감소: 그만큼 '- -' 연산자는 정수 값을 감소시키는 데 사용됩니다. 변수 이름 앞에 위치할 때(라고도 함) 사전 감소 연산자 ), 해당 값은 즉시 감소합니다. 예를 들어, – -x .
    그리고 변수 이름 뒤에 위치할 때(라고도 함) 후위 감소 연산자 ), 해당 값은 이 문이 실행될 때까지 일시적으로 유지되며 다음 문이 실행되기 전에 업데이트됩니다. 예를 들어, x- – .

예:

씨#
// C# program to demonstrate the working  // of Unary Arithmetic Operators using System; namespace Arithmetic {    class GFG {    // Main Function  static void Main(string[] args)  {    int a = 10, res;    // post-increment example:  // res is assigned 10 only,   // a is not updated yet  res = a++;    //a becomes 11 now  Console.WriteLine('a is {0} and res is {1}', a, res);      // post-decrement example:  // res is assigned 11 only, a is not updated yet  res = a--;    //a becomes 10 now  Console.WriteLine('a is {0} and res is {1}', a, res);       // pre-increment example:  // res is assigned 11 now since a  // is updated here itself  res = ++a;    // a and res have same values = 11  Console.WriteLine('a is {0} and res is {1}', a, res);      // pre-decrement example:  // res is assigned 10 only since  // a is updated here itself  res = --a;    // a and res have same values = 10  Console.WriteLine('a is {0} and res is {1}',a, res);       }  } }>

산출:

문자열 자바 배열
a is 11 and res is 10 a is 10 and res is 11 a is 11 and res is 11 a is 10 and res is 10>

관계 연산자

관계 연산자는 두 값을 비교하는 데 사용됩니다. 하나씩 살펴보겠습니다.

  • '=='(같음) 연산자는 주어진 두 피연산자가 같은지 여부를 확인합니다. 그렇다면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, 5==5 true를 반환합니다.
  • '!='(같지 않음) 연산자는 주어진 두 피연산자가 같은지 여부를 확인합니다. 그렇지 않은 경우 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 이는 의 정확한 부울 보수입니다. '==' 운영자. 예를 들어, 5!=5 false를 반환합니다.
  • '>'(보다 큼) 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 큰지 확인합니다. 그렇다면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, 6>5 true를 반환합니다.
  • '<'(보다 작음) 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 작은지 확인합니다. 그렇다면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, 6<5 false를 반환합니다.
  • '>='(같음보다 큼) 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 크거나 같은지 확인합니다. 그렇다면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, 5>=5 true를 반환합니다.
  • '<='(같지 않음) 연산자는 첫 번째 피연산자가 두 번째 피연산자보다 작거나 같은지 확인합니다. 그렇다면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, 5<=5 또한 true를 반환합니다.

예:

씨#
// C# program to demonstrate the working  // of Relational Operators using System; namespace Relational {   class GFG {    // Main Function  static void Main(string[] args)  {  bool result;  int x = 5, y = 10;    // Equal to Operator  result = (x == y);  Console.WriteLine('Equal to Operator: ' + result);    // Greater than Operator  result = (x>와이);  Console.WriteLine('연산자보다 큼: ' + 결과);    // 작음 연산자 결과 = (x< y);  Console.WriteLine('Less than Operator: ' + result);    // Greater than Equal to Operator  result = (x>=y);  Console.WriteLine('크거나 같음: '+ 결과);    // 작음 연산자 결과 = (x<= y);  Console.WriteLine('Lesser than or Equal to: '+ result);    // Not Equal To Operator  result = (x != y);  Console.WriteLine('Not Equal to Operator: ' + result);  } } }>

산출:

Equal to Operator: False Greater than Operator: False Less than Operator: True Greater than or Equal to: False Lesser than or Equal to: True Not Equal to Operator: True>

논리 연산자

둘 이상의 조건/제약조건을 결합하거나 고려 중인 원래 조건의 평가를 보완하는 데 사용됩니다. 아래에 설명되어 있습니다.

  • 논리 AND: 그만큼 '&&' 연산자는 고려 중인 두 조건이 모두 충족되면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, a && b a와 b가 모두 참인 경우(즉, 0이 아닌 경우) 참을 반환합니다.
  • 논리적 OR: 그만큼 '||' 연산자는 고려 중인 조건 중 하나(또는 둘 다)가 충족되면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, || 비 a 또는 b 중 하나가 참(즉, 0이 아님)이면 참을 반환합니다. 물론, a와 b가 모두 참일 때 참을 반환합니다.
  • 논리적 NOT: 그만큼 '!' 연산자는 고려 중인 조건이 충족되지 않으면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. 예를 들어, !ㅏ a가 false인 경우, 즉 a=0인 경우 true를 반환합니다.

예:

씨#
// C# program to demonstrate the working  // of Logical Operators using System; namespace Logical {   class GFG {    // Main Function  static void Main(string[] args)   } }>

산출:

AND Operator: False OR Operator: True NOT Operator: False>

비트 연산자

C#에는 비트 수준에서 작동하거나 비트 단위 연산을 수행하는 데 사용되는 6개의 비트 연산자가 있습니다. 다음은 비트 연산자입니다.

정렬된 배열 목록
  • &(비트 AND) 두 개의 숫자를 피연산자로 사용하고 두 숫자의 모든 비트에 대해 AND를 수행합니다. AND의 결과는 두 비트가 모두 1인 경우에만 1입니다.
  • | (비트 OR) 두 숫자를 피연산자로 사용하고 두 숫자의 모든 비트에 대해 OR을 수행합니다. OR의 결과는 1이며 두 비트 중 하나가 1입니다.
  • ^(비트 XOR) 두 숫자를 피연산자로 사용하고 두 숫자의 모든 비트에 대해 XOR을 수행합니다. XOR의 결과는 두 비트가 다르면 1입니다.
  • ~ (비트 보수) 하나의 숫자를 피연산자로 사용하고 1에서 0, 0에서 1인 각 비트를 반전합니다.
  • <<(왼쪽 시프트) 두 개의 숫자를 취하고, 첫 번째 피연산자의 비트를 왼쪽으로 이동하고, 두 번째 피연산자는 이동할 자리 수를 결정합니다.
  • >> (오른쪽 쉬프트) 두 개의 숫자를 취하고, 첫 번째 피연산자의 비트를 오른쪽으로 이동하고, 두 번째 피연산자는 이동할 자리 수를 결정합니다.

예:

씨#
// C# program to demonstrate the working  // of Bitwise Operators using System; namespace Bitwise {   class GFG {    // Main Function  static void Main(string[] args)    int x = 5, y = 10, result;    // Bitwise AND Operator  result = x & y;  Console.WriteLine('Bitwise AND: ' + result);    // Bitwise OR Operator  result = x  } }>

산출:

Bitwise AND: 0 Bitwise OR: 15 Bitwise XOR: 15 Bitwise Complement: -6 Bitwise Left Shift: 20 Bitwise Right Shift: 1>

할당 연산자

할당 연산자는 변수에 값을 할당하는 데 사용됩니다. 할당 연산자의 왼쪽 피연산자는 변수이고 할당 연산자의 오른쪽 피연산자는 값입니다. 오른쪽 값은 왼쪽 변수와 동일한 데이터 유형이어야 합니다. 그렇지 않으면 컴파일러에서 오류가 발생합니다.

다양한 유형의 할당 연산자가 아래에 나와 있습니다.

  • =(간단한 할당) : 가장 간단한 할당 연산자입니다. 이 연산자는 오른쪽의 값을 왼쪽의 변수에 할당하는 데 사용됩니다.
    예:
a = 10; b = 20; ch = 'y';>
  • +=(과제 추가) : '+'와 '=' 연산자를 조합한 연산자입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 값에 더한 다음 그 결과를 왼쪽 변수에 할당합니다.
    예:
(a += b) can be written as (a = a + b)>

a에 처음 저장된 값이 5라면 (a += 6) = 11입니다.

  • -=(할당 빼기) : '-' 연산자와 '=' 연산자를 조합한 연산자입니다. 이 연산자는 먼저 오른쪽 값에서 왼쪽 변수의 현재 값을 뺀 다음 그 결과를 왼쪽 변수에 할당합니다.
    예:
(a -= b) can be written as (a = a - b)>

a에 처음 저장된 값이 8이면 (a -= 6) = 2입니다.

  • *=(곱하기 할당) : '*' 연산자와 '=' 연산자를 조합한 연산자입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 값에 곱한 다음 그 결과를 왼쪽 변수에 할당합니다.
    예:
(a *= b) can be written as (a = a * b)>

a에 처음 저장된 값이 5라면 (a *= 6) = 30입니다.

  • /=(부서 할당): 이 연산자는 '/'와 '=' 연산자를 조합한 것입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 값으로 나눈 다음 그 결과를 왼쪽 변수에 할당합니다.
    예:
(a /= b) can be written as (a = a / b)>

a에 처음 저장된 값이 6이면 (a /= 2) = 3입니다.

  • %=(모듈러스 지정): 이 연산자는 '%'와 '=' 연산자를 조합한 것입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 값으로 모듈로 처리한 다음 결과를 왼쪽 변수에 할당합니다.
    예:
(a %= b) can be written as (a = a % b)>

a에 처음 저장된 값이 6이면 (a %= 2) = 0입니다.

  • <<=(왼쪽 시프트 할당) : 이 연산자는 '<<'와 '=' 연산자의 조합입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 값만큼 왼쪽으로 이동한 다음 결과를 왼쪽 변수에 할당합니다.
    예:
(a <<= 2) can be written as (a = a << 2)>

a에 처음 저장된 값이 6이면 (a <<= 2) = 24입니다.

지도 자바 반복자
  • >>=(오른쪽 시프트 할당) : '>>'와 '=' 연산자를 조합한 연산자입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값을 오른쪽 값만큼 오른쪽으로 이동한 다음 결과를 왼쪽 변수에 할당합니다.
    예:
(a>>= 2)는 (a = a>> 2)>'>로 쓸 수 있습니다.

a에 처음 저장된 값이 6이면 (a>>= 2) = 1입니다.

  • &=(비트 AND 할당) : '&' 연산자와 '=' 연산자를 조합한 연산자입니다. 이 연산자는 먼저 왼쪽 변수의 현재 값과 오른쪽 값을 비트 단위로 AND한 다음 결과를 왼쪽 변수에 할당합니다.
    예:
a에 처음 저장된 값이 6이면 (a &= 2) = 2입니다.

  • ^=(비트 배타적 OR) : '^' 연산자와 '=' 연산자를 조합한 연산자입니다. 이 연산자는 먼저 왼쪽에 있는 변수의 현재 값을 오른쪽에 있는 값으로 비트 단위 배타적으로 OR한 다음 결과를 왼쪽에 있는 변수에 할당합니다.
    예:
(a ^= 2) can be written as (a = a ^ 2)>

a에 처음 저장된 값이 6이면 (a ^= 2) = 4입니다.

  • |=(비트 포함 OR) : '|' 연산자와 '=' 연산자를 조합한 연산자입니다. 이 연산자는 먼저 왼쪽에 있는 변수의 현재 값을 오른쪽에 있는 값으로 비트 단위 포함 OR(Bitwise Inclusive OR)로 만든 다음 결과를 왼쪽에 있는 변수에 할당합니다.
    예 :
(a |= 2) can be written as (a = a | 2)>

처음에 a에 저장된 값은 6입니다. 그러면 (a |= 2) = 6입니다.

예:

씨#
// C# program to demonstrate the working  // of Assignment Operators using System; namespace Assignment {   class GFG {    // Main Function  static void Main(string[] args)  = 4;   Console.WriteLine('Bitwise Inclusive OR Assignment Operator: ' + x);     } }>

출력 :

데이터 베이스
Add Assignment Operator: 25 Subtract Assignment Operator: 15 Multiply Assignment Operator: 75 Division Assignment Operator: 5 Modulo Assignment Operator: 0 Left Shift Assignment Operator: 32 Right Shift Assignment Operator: 2 Bitwise AND Assignment Operator: 4 Bitwise Exclusive OR Assignment Operator: 8 Bitwise Inclusive OR Assignment Operator: 12>

조건부 연산자

if-else 문의 단축 버전인 삼항 연산자입니다. 세 개의 피연산자를 가지므로 삼항이라는 이름이 붙습니다. 부울 표현식의 값에 따라 두 값 중 하나를 반환합니다.

통사론:

condition ? first_expression : second_expression;>

설명:
조건: true 또는 false로 평가되어야 합니다.
조건이 참인 경우
first_expression이 평가되어 결과가 됩니다.
조건이 거짓인 경우,
second_expression이 평가되어 결과가 됩니다.

예:

씨#
// C# program to demonstrate the working  // of Conditional Operator using System; namespace Conditional {   class GFG {    // Main Function  static void Main(string[] args)  {  int x = 5, y = 10, result;    // To find which value is greater  // Using Conditional Operator  result = x>응? x : y;     // 결과를 표시하려면 Console.WriteLine('Result: ' + result);    // 어느 값이 더 큰지 찾으려면 // 조건 연산자 사용 결과 = x< y ? x : y;     // To display the result  Console.WriteLine('Result: ' + result);  } } }>

출력 :

Result: 10 Result: 5>