Trong bài này, chúng ta sẽ tìm hiểu mọi thứ về các loại toán tử khác nhau trong ngôn ngữ lập trình C # và cách sử dụng chúng.
Toán tử là các ký hiệu được sử dụng để thực hiện các phép toán trên các toán hạng. Toán hạng có thể là biến và / hoặc hằng số.
Ví dụ , in 2+3
, +
là một toán tử được sử dụng để thực hiện phép toán cộng, while 2
và 3
là các toán hạng.
Các toán tử được sử dụng để thao tác với các biến và giá trị trong một chương trình. C # hỗ trợ một số toán tử được phân loại dựa trên loại hoạt động mà chúng thực hiện.
1. Toán tử chuyển nhượng cơ bản
Toán tử gán cơ bản (=) được sử dụng để gán giá trị cho các biến. Ví dụ,
double x; x = 50.05;
Ở đây, 50.05 được gán cho x.
Ví dụ 1: Toán tử chuyển nhượng cơ bản
using System;
namespace Operator
{
class AssignmentOperator
{
public static void Main(string[] args)
{
int firstNumber, secondNumber;
// Assigning a constant to variable
firstNumber = 10;
Console.WriteLine("First Number = {0}", firstNumber);
// Assigning a variable to another variable
secondNumber = firstNumber;
Console.WriteLine("Second Number = {0}", secondNumber);
}
}
}
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
First Number = 10 Second Number = 10
Đây là một ví dụ đơn giản chứng minh việc sử dụng toán tử gán.
Bạn có thể nhận thấy việc sử dụng dấu ngoặc nhọn { }
trong ví dụ. Chúng ta sẽ thảo luận về chúng trong định dạng chuỗi . Hiện tại, chỉ cần lưu ý rằng biến {0}
được thay thế bằng biến đầu tiên theo sau chuỗi, {1}
được thay bằng biến thứ hai, v.v.
2. Toán tử số học
Toán tử số học được sử dụng để thực hiện các phép tính số học như cộng, trừ, nhân, chia, v.v.
Ví dụ,
int x = 5; int y = 10; int z = x + y;// z = 15
Operator | Operator Name | Example |
---|---|---|
+ | Addition Operator | 6 + 3 evaluates to 9 |
– | Subtraction Operator | 10 – 6 evaluates to 4 |
* | Multiplication Operator | 4 * 2 evaluates to 8 |
/ | Division Operator | 10 / 5 evaluates to 2 |
% | Modulo Operator (Remainder) | 16 % 3 evaluates to 1 |
Ví dụ 2: Toán tử số học
using System;
namespace Operator
{
class ArithmeticOperator
{
public static void Main(string[] args)
{
double firstNumber = 14.40, secondNumber = 4.60, result;
int num1 = 26, num2 = 4, rem;
// Addition operator
result = firstNumber + secondNumber;
Console.WriteLine("{0} + {1} = {2}", firstNumber, secondNumber, result);
// Subtraction operator
result = firstNumber - secondNumber;
Console.WriteLine("{0} - {1} = {2}", firstNumber, secondNumber, result);
// Multiplication operator
result = firstNumber * secondNumber;
Console.WriteLine("{0} * {1} = {2}", firstNumber, secondNumber, result);
// Division operator
result = firstNumber / secondNumber;
Console.WriteLine("{0} / {1} = {2}", firstNumber, secondNumber, result);
// Modulo operator
rem = num1 % num2;
Console.WriteLine("{0} % {1} = {2}", num1, num2, rem);
}
}
}
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
14.4 + 4.6 = 19 14.4 - 4.6 = 9.8 14.4 * 4.6 = 66.24 14.4 / 4.6 = 3.1304347826087 26 % 4 = 2
Các phép toán số học được thực hiện trong ví dụ trên. Các biến có thể được thay thế bằng hằng số trong các câu lệnh. Ví dụ,
result = 4.5 + 2.7 ; // result will hold 7.2 result = firstNumber - 3.2; // result will hold 11.2
3. Toán tử quan hệ
Toán tử quan hệ được sử dụng để kiểm tra mối quan hệ giữa hai toán hạng. Nếu mối quan hệ là true thì kết quả sẽ là true
, ngược lại thì kết quả là false
.
Các toán tử quan hệ được sử dụng trong việc ra quyết định và các vòng lặp.
Operator | Operator Name | Example |
---|---|---|
== | Equal to | 6 == 4 evaluates to false |
> | Greater than | 3 > -1 evaluates to true |
< | Less than | 5 < 3 evaluates to false |
>= | Greater than or equal to | 4 >= 4 evaluates to true |
<= | Less than or equal to | 5 <= 3 evaluates to false |
!= | Not equal to | 10 != 2 evaluates to true |
Ví dụ 3: Toán tử quan hệ
using System;
namespace Operator
{
class RelationalOperator
{
public static void Main(string[] args)
{
bool result;
int firstNumber = 10, secondNumber = 20;
result = (firstNumber==secondNumber);
Console.WriteLine("{0} == {1} returns {2}",firstNumber, secondNumber, result);
result = (firstNumber > secondNumber);
Console.WriteLine("{0} > {1} returns {2}",firstNumber, secondNumber, result);
result = (firstNumber < secondNumber);
Console.WriteLine("{0} < {1} returns {2}",firstNumber, secondNumber, result);
result = (firstNumber >= secondNumber);
Console.WriteLine("{0} >= {1} returns {2}",firstNumber, secondNumber, result);
result = (firstNumber <= secondNumber);
Console.WriteLine("{0} <= {1} returns {2}",firstNumber, secondNumber, result);
result = (firstNumber != secondNumber);
Console.WriteLine("{0} != {1} returns {2}",firstNumber, secondNumber, result);
}
}
}
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
10 == 20 returns False 10 > 20 returns False 10 < 20 returns True 10 >= 20 returns False 10 <= 20 returns True 10 != 20 returns True
4. Toán tử logic
Các toán tử logic được sử dụng để thực hiện thao tác logic như and
, or
. Các toán tử logic hoạt động trên các biểu thức boolean ( true
và false
) và trả về các giá trị boolean. Các toán tử logic được sử dụng trong việc ra quyết định và các vòng lặp.
Đây là cách kết quả được đánh giá cho các toán tử AND
và lôgic OR
.
Operand 1 | Operand 2 | OR (||) | AND (&&) |
---|---|---|---|
true | true | true | true |
true | false | true | false |
false | true | true | false |
false | false | false | false |
Nói một cách dễ hiểu, bảng này có thể được tóm tắt như sau:
- If one of the operand is true, the
OR
operator will evaluate it totrue
. - If one of the operand is false, the
AND
operator will evaluate it tofalse
.
Ví dụ 4: Toán tử logic
using System;
namespace Operator
{
class LogicalOperator
{
public static void Main(string[] args)
{
bool result;
int firstNumber = 10, secondNumber = 20;
// OR operator
result = (firstNumber == secondNumber) || (firstNumber > 5);
Console.WriteLine(result);
// AND operator
result = (firstNumber == secondNumber) && (firstNumber > 5);
Console.WriteLine(result);
}
}
}
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
True False
5. Các nhà khai thác đơn lẻ
Không giống như các toán tử khác, các toán tử một ngôi hoạt động trên một toán hạng duy nhất.
Operator | Operator Name | Decfscription |
---|---|---|
+ | Unary Plus | Leaves the sign of operand as it is |
– | Unary Minus | Inverts the sign of operand |
++ | Increment | Increment value by 1 |
— | Decrement | Decrement value by 1 |
! | Logical Negation (Not) | Inverts the value of a boolean |
Ví dụ 5: Toán tử đơn nguyên
using System;
namespace Operator
{
class UnaryOperator
{
public static void Main(string[] args)
{
int number = 10, result;
bool flag = true;
result = +number;
Console.WriteLine("+number = " + result);
result = -number;
Console.WriteLine("-number = " + result);
result = ++number;
Console.WriteLine("++number = " + result);
result = --number;
Console.WriteLine("--number = " + result);
Console.WriteLine("!flag = " + (!flag));
}
}
}
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
+number = 10 -number = -10 ++number = 11 --number = 10 !flag = False
Các (++)
toán (--)
tử tăng và giảm có thể được sử dụng làm tiền tố và hậu tố. Nếu được sử dụng làm tiền tố, sự thay đổi về giá trị của biến được nhìn thấy trên cùng một dòng và nếu được sử dụng làm tiền tố hậu tố, sự thay đổi về giá trị của biến được nhìn thấy ở dòng tiếp theo. Điều này sẽ rõ ràng bằng ví dụ dưới đây.
Ví dụ 6: Các toán tử Đăng và Tăng trước trong C #
using System;
namespace Operator
{
class UnaryOperator
{
public static void Main(string[] args)
{
int number = 10;
Console.WriteLine((number++));
Console.WriteLine((number));
Console.WriteLine((++number));
Console.WriteLine((number));
}
}
}
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
10 11 12 12
Chúng ta có thể thấy tác dụng của việc sử dụng ++
as prefix và postfix. Khi ++
được sử dụng sau toán hạng, giá trị được đánh giá đầu tiên và sau đó nó được tăng dần lên 1
. Do đó tuyên bố
Console.WriteLine((number++));
bản in 10
thay vì 11
. Sau khi giá trị được in, giá trị của số sẽ tăng lên 1
.
Quá trình này ngược lại khi ++
được sử dụng làm tiền tố. Giá trị được tăng lên trước khi in. Do đó tuyên bố
Console.WriteLine((++number));
bản in 12
.
Trường hợp tương tự đối với toán tử giảm dần (--)
.
6. Nhà khai thác bậc ba
Toán tử bậc ba ? :
hoạt động trên ba toán hạng. Nó là một cách viết tắt của if-then-else
tuyên bố. Toán tử bậc ba có thể được sử dụng như sau:
variable = Condition? Expression1 : Expression2;
Toán tử bậc ba hoạt động như sau:
- If the expression stated by Condition is
true
, the result of Expression1 is assigned to variable. - If it is
false
, the result of Expression2 is assigned to variable.
Ví dụ 7: Toán tử bậc ba
using System;
namespace Operator
{
class TernaryOperator
{
public static void Main(string[] args)
{
int number = 10;
string result;
result = (number % 2 == 0)? "Even Number" : "Odd Number";
Console.WriteLine("{0} is {1}", number, result);
}
}
}
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
10 is Even Number
Để tìm hiểu thêm, hãy truy cập toán tử bậc ba C # .
7. Toán tử Bitwise và Bit Shift
Các toán tử bit và dịch chuyển bit được sử dụng để thực hiện các thao tác điều khiển bit.
Operator | Operator Name |
---|---|
~ | Bitwise Complement |
& | Bitwise AND |
| | Bitwise OR |
^ | Bitwise Exclusive OR |
<< | Bitwise Left Shift |
>> | Bitwise Right Shift |
Ví dụ 8: Toán tử Bitwise và Bit Shift
using System;
namespace Operator
{
class BitOperator
{
public static void Main(string[] args)
{
int firstNumber = 10;
int secondNumber = 20;
int result;
result = ~firstNumber;
Console.WriteLine("~{0} = {1}", firstNumber, result);
result = firstNumber & secondNumber;
Console.WriteLine("{0} & {1} = {2}", firstNumber,secondNumber, result);
result = firstNumber | secondNumber;
Console.WriteLine("{0} | {1} = {2}", firstNumber,secondNumber, result);
result = firstNumber ^ secondNumber;
Console.WriteLine("{0} ^ {1} = {2}", firstNumber,secondNumber, result);
result = firstNumber << 2;
Console.WriteLine("{0} << 2 = {1}", firstNumber, result);
result = firstNumber >> 2;
Console.WriteLine("{0} >> 2 = {1}", firstNumber, result);
}
}
}
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
~10 = -11 10 & 20 = 0 10 | 20 = 30 10 ^ 20 = 30 10 << 2 = 40 10 >> 2 = 2
Để tìm hiểu thêm, hãy truy cập toán tử C # Bitwise và Bit Shift .
8. Người điều hành chuyển nhượng hợp chất
Operator | Operator Name | Example | Equivalent To |
---|---|---|---|
+= | Addition Assignment | x += 5 | x = x + 5 |
-= | Subtraction Assignment | x -= 5 | x = x - 5 |
*= | Multiplication Assignment | x *= 5 | x = x * 5 |
/= | Division Assignment | x /= 5 | x = x / 5 |
%= | Modulo Assignment | x %= 5 | x = x % 5 |
&= | Bitwise AND Assignment | x &= 5 | x = x & 5 |
|= | Bitwise OR Assignment | x |= 5 | x = x | 5 |
^= | Bitwise XOR Assignment | x ^= 5 | x = x ^ 5 |
<<= | Left Shift Assignment | x <<= 5 | x = x << 5 |
>>= | Right Shift Assignment | x >>= 5 | x = x >> 5 |
=> | Lambda Operator | x => x*x | Returns x*x |
Ví dụ 9: Toán tử gán ghép
using System;
namespace Operator
{
class BitOperator
{
public static void Main(string[] args)
{
int number = 10;
number += 5;
Console.WriteLine(number);
number -= 3;
Console.WriteLine(number);
number *= 2;
Console.WriteLine(number);
number /= 3;
Console.WriteLine(number);
number %= 3;
Console.WriteLine(number);
number &= 10;
Console.WriteLine(number);
number |= 14;
Console.WriteLine(number);
number ^= 12;
Console.WriteLine(number);
number <<= 2;
Console.WriteLine(number);
number >>= 3;
Console.WriteLine(number);
}
}
}
Khi chúng tôi chạy chương trình, kết quả đầu ra sẽ là:
15 12 24 8 2 2 14 2 8 1