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ụ,
gấp đôi 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à:
Số đầu tiên = 10 Số thứ hai = 10
Đây là một ví dụ đơn giản thể hiện 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
Cá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 = 15Toán tử số học C #
Nhà điều hành | Tên người vận hành | Thí dụ |
---|---|---|
+ | Toán tử bổ sung | 6 + 3 cho kết quả là 9 |
- | Toán tử phép trừ | 10 - 6 đánh giá đến 4 |
* | Toán tử nhân | 4 * 2 đánh giá là 8 |
/ | Người điều hành bộ phận | 10/5 đánh giá là 2 |
% | Nhà điều hành Modulo (Phần còn lại) | 16% 3 đánh giá là 1 |
Ví dụ 2: Các 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ụ,
kết quả = 4,5 + 2,7; // kết quả sẽ chứa 7.2 result = firstNumber - 3.2; // kết quả sẽ giữ 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à đúng thì kết quả sẽ là true
, nếu không 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.
Toán tử quan hệ C #Nhà điều hành | Tên người vận hành | Thí dụ |
---|---|---|
== | Tương đương với | 6 == 4 cho kết quả là false |
> | Lớn hơn | 3> -1 đánh giá là true |
< | Ít hơn | 5 <3 đánh giá là sai |
> = | Lớn hơn hoặc bằng | 4> = 4 đánh giá là true |
<= | Ít hơn hoặc bằng | 5 <= 3 đánh giá là false |
! = | Không bằng | 10! = 2 đánh giá là 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) = 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 trả về Sai 10> 20 trả về Sai 10 = 20 trả về Sai 10 <= 20 trả về Đúng 10! = 20 trả về Đúng
4. Toán tử lôgic
Các toán tử logic được sử dụng để thực hiện thao tác logic như and
, or
. Toán tử logic hoạt động trên biểu thức boolean ( true
và false
) và trả về 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à logic OR
.
Toán hạng 1 | Toán hạng 2 | HOẶC (||) | VÀ (&&) |
---|---|---|---|
thật | thật | thật | thật |
thật | sai | thật | sai |
sai | thật | thật | sai |
sai | sai | sai | sai |
Nói một cách đơn giản, bảng có thể được tóm tắt như sau:
- Nếu một trong các toán hạng là true,
OR
toán tử sẽ đánh giá nó thànhtrue
. - Nếu một trong các toán hạng là sai,
AND
toán tử sẽ đánh giá nó thànhfalse
.
Ví dụ 4: Toán tử lôgic
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à:
Đúng sai
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.
Toán tử một ngôi trong C #Nhà điều hành | Tên người vận hành | Sự miêu tả |
---|---|---|
+ | Unary Plus | Để lại dấu hiệu của toán hạng như nó vốn có |
- | Dấu trừ một bậc | Đảo ngược dấu của toán hạng |
++ | Tăng | Giá trị tăng lên 1 |
- | Giảm dần | Giá trị giảm đi 1 |
! | Phủ định logic (Không phải) | Đảo ngược giá trị củ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 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 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: 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
We can see the effect of using ++
as prefix and postfix. When ++
is used after the operand, the value is first evaluated and then it is incremented by 1
. Hence the statement
Console.WriteLine((number++));
prints 10
instead of 11
. After the value is printed, the value of number is incremented by 1
.
The process is opposite when ++
is used as prefix. The value is incremented before printing. Hence the statement
Console.WriteLine((++number));
prints 12
.
The case is same for decrement operator (--)
.
6. Ternary Operator
The ternary operator ? :
operates on three operands. It is a shorthand for if-then-else
statement. Ternary operator can be used as follows:
variable = Condition? Expression1 : Expression2;
Toán tử bậc ba hoạt động như sau:
- Nếu biểu thức được nêu bởi Điều kiện là
true
, kết quả của Biểu thức1 được gán cho biến. - Nếu đúng như vậy
false
, kết quả của Expression2 được gán cho biến.
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 là số chẵn
Để 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.
Toán tử C # Bitwise và Bit ShiftNhà điều hành | Tên người vận hành |
---|---|
~ | Bổ sung Bitwise |
& | Bitwise VÀ |
| | Bitwise HOẶC |
^ | Độc quyền Bitwise HOẶC |
<< | Dịch chuyển sang trái theo chiều bit |
>> | Chuyển sang phải theo chiều bit |
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; 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 = 2
Để tìm hiểu thêm, hãy truy cập C # Bitwise và toán tử Bit Shift.
8. Người điều hành chuyển nhượng hợp chất
Các toán tử gán ghép trong C #Nhà điều hành | Tên người vận hành | Thí dụ | Tương đương với |
---|---|---|---|
+ = | Bài tập bổ sung | x += 5 | x = x + 5 |
- = | Phép trừ | x -= 5 | x = x - 5 |
* = | Phép nhân | x *= 5 | x = x * 5 |
/ = | Phân công bộ phận | x /= 5 | x = x / 5 |
% = | Chuyển nhượng Modulo | x %= 5 | x = x % 5 |
& = | Bitwise AND Assignment | x &= 5 | x = x & 5 |
| = | Bitwise HOẶC chuyển nhượng | x |= 5 | x = x | 5 |
= | Chuyển nhượng Bitwise XOR | x ^= 5 | x = x 5 |
<< = | Chuyển sang trái | x <<= 5 | x = x << 5 |
>> = | Chuyển sang phải | x>>= 5 | x = x>> 5 |
=> | Nhà điều hành Lambda | 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 <>= 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
Chúng ta sẽ thảo luận về các toán tử Lambda trong hướng dẫn sau.