C# cơ bản .NET Core

Các toán tử số học trong C#

Toán tử đó là các ký hiệu (+ - * / % && ! ...), được được dùng để thi hành các tính toán về toán học hay biểu thức logic.

Trong C# nó hỗ trợ những toán tử về số học sau:

Toán tử Ý nghĩa Ví dụ
+ Phép cộng a + b
- Phép trừ a - b
* Phép nhân a * b
/ Phép chia a / b
% Phép chia lấy dư (modules) a % b

Phép cộng +, phép trừ -

int a = 28;
int b = 10;
//Phép cộng
Console.WriteLine(a + b);  // In ra: 38
Console.WriteLine(a - b);  // In ra: 18

Phép nhân *

float a = 1.2f;
int b = 3;
Console.WriteLine(a * b);  // In ra 3.6

Phép chia /

float a = 1.2f;
int b = 3;
Console.WriteLine(a / b);  // In ra 0.4

Nếu số chia và số bị chia thì phép toán / sẽ lấy phần nguyên. Nếu muốn lấy giá trị thực chính xác, cần chuyển số chia, hoặc bị chia thành số thực.

int a = 10;
int b = 3;
Console.WriteLine(a / b);          // In ra 3

// Chuyển số chia thành số thực
Console.WriteLine(a / (float)b);   // In ra 3.333333

Phép chia lấy dư %

int a = 8;
int b = 3;
Console.WriteLine(a % b);  // In ra 2

Thứ tự ưu tiên của các toán tử trong biểu thức

Một biểu thức có thể có nhiều số hạng, kết hợp lại bởi nhiều toán tử và ký hiệu ( ), Lúc này cần biết thứ tự ưu tiên để tính được chính xác giá trị biểu thức.

Trong biểu thức, toán tử nào có độ ưu tiên cao hơn sẽ được tính trước.

Độ ưu tiên từ cao xuống thấp là: 1 trong ngoặc (), 2 số mũ - căn, 3 nhân hoặc chia * /, 4 cộng hoặc trừ + -

Khi độ ưu tiên ngang nhau, sẽ tính từ trái qua phải

Console.WriteLine(5 + 3 * 2);         // 11
Console.WriteLine(6 / 2 + 3 * 2);     // 9
Console.WriteLine(6 / (2 + 3) * 2);   // 2

Toán tử gán trong C#

Toán tử gán, dùng để gán giá trị (biểu thức giá trị) vào biến. Các toán tử gán gồm:

Toán tử Diễn tả Ví dụ
= Toán tử gán:
Gán biểu thức bên phải của = vào biến bên trái
int x = 10 + 12;        // x bằng 22
+= Toán tử công thêm:
Công thêm vào biến bên trái += giá trị bên phải
int x = 10;
x += 2;                 // x bằng 12
-= Toán tử trừ bớt:
Bớt đi giá trị biến bên trái của -= một lượng bằng biểu thức bên phải
int c = 10;
c -= 3;                 // c = 7
               
*= Toán tử nhân với:
a *= b tương đương a = a * b;
int x = 2;
x *= 3;                 //x = 6
/= Toán tử chia cho:
a / b tương đương a = a / b
int a = 6;
a /= 2;                 // a = 3
%= Toán tử gán module:
a %=b tương đương a = a % b;
int a = 10;
a %= 3;                 // a = 1

Toán tử tăng ++ và giảm -- trong C#

Toán tử ++ thêm vào biến 1 đơn vị, còn -- bớt đi một đơn vị, toán tử này có thể viết bên trái hoặc bên phải biến.

int a = 10;
a++;    // a là 11 (thêm 1)
++a;    // a là 12 (thêm 1)

a--;    // a là 11 (bớt 1)
--a;    // a là 10 (bớt 1)

Nếu biến độc lập, thì việc viết ++ hoặc -- bên trái hay bên phải không có khác biệt. Tuy nhiên trong biểu thức thì có sự khác biệt.

Nếu viết trước ++x thì toán tử ++ thi hành trước rồi mới áp dụng vào biểu thức, nếu viết sau dạng x++ thì biểu thức thi hành xong mới đến ++ (tương tự với --)

Ví dụ ++ thi hành sau do viết sau biến

int a = 5;
int b = 2 * a++;  // b = 10; a = 6

Ví dụ ++ sẽ thi hành trước

int a = 5;
int b = 2 * ++a;  // b = 12; a = 6

Source code: CS003_ArithmeticAssignment (Git), hoặc tải ex003-1


Đăng ký nhận bài viết mới