Wednesday, June 25, 2014

Bài 8 : Toán tử & ưu tiên toán tử trong C#

[Bài 8 : Toán tử & ưu tiên toán tử trong C#]
 C# hỗ trợ các phép toán thong thường mà các bạn đã học từ mẫu giáo .Như :
Dấu cộng (+)
Dấu trừ (-)
Dấu nhân (*)
Dấu chia (/)
số dư (%) // 9 / 2 dư 1 9 % 2 = 1
Chúng được gọi là toán tử (operator) .
Vd: Console.WriteLine(8*4);
Không phải tất cả toán tử đều có thể áp dụng cho tất cả các kiểu dữ liệu.Các toán tử mà bạn có thể sử dụng trên một giá trị phụ thuộc vào kiểu giá trị đó.
Sử dụng toán tử cho kiểu chuỗi (string)
Vd :
Console.WriteLine("tam"*"ta"); // lỗi
Console.WriteLine("Thanh"+" Tam"); // Thanh Tam
 Quyền ưu tiên
Mình hiểu là cái gì trước cái gì sau 
Vd : 7+2*9 // 25
(+) hay (*).Chắc chắn rằng rất quan trọng vì nó thay đổi hoàn toàn đáp số nhận được.
Trong C# ,các toán tử ( *, / , % ) có quyền ưu tiên hơn các toán tử ( + , - )
Thứ tự tính toán các phép toán ưu tiên từ trái sang phải.
Nếu bạn muốn thay đổi quyền ưu tiên phép toán bằng phép toán khác.
(2+3)*4 // dùng dấu “( )”
5*4=20
 Toán tử tăng và giảm
Khi sử dụng các biến số ta thường có thao tác là cộng một giá trị vào biến, trừ đi một
giá trị từ biến đó, hay thực hiện các tính toán thay đổi giá trị của biến sau đó gán giá trị mới vừa tính toán cho chính biến đó.
Biến ++ : tăng biến lên 1 đơn vị
Biến -- : giảm biến xuống 1 đơn vị
Vd:
int i = 1;
i++;
Console.WriteLine(i);
Nếu muốn tăng i thêm 100.Bạn có thể làm như sau :
i = i + 100 ;
viết gọn lại thành :
i +=100 ; // hoặc nhân i*=100 …
 Toán tử quan hệ
Những toán tử quan hệ được dùng để so sánh giữa hai giá trị, và sau đó trả về kết quả
là một giá trị logic kiểu bool (true hay false). Ví dụ toán tử so sánh lớn hơn (>) trả về giá trị là true nếu giá trị bên trái của toán tử lớn hơn giá trị bên phải của toán tử. Do vậy 5 > 2 trả về một giá trị là true, trong khi 2 > 5 trả về giá trị false.
So sánh bằng ==
Khác !=
Nhỏ hơn <
Lớn hơn >
Nhỏ hơn hoặc bằng <=
Lớn hơn hoặc bằng >=
Lưu ý: == là toán tử so sánh và = là phép gán .
 Tiền tố và hậu tố
Lệnh 1 : A=B++; // dấu ++ nằm liền sau biến gọi là hậu tố
Gán trước rồi tăng sau. Vd: A= 10 , B=11
Lệnh 2 : A=++B; // dấu ++ nằm liền trước biến gọi là tiền tố
Tăng trước rồi gán sau. Vd : A= 11, B=11
 Toán tử logic
Trong câu lệnh if mà chúng ta đã tìm hiểu trong phần trước, thì khi điều kiện là true
thì biểu thức bên trong if mới được thực hiện. Đôi khi chúng ta muốn kết hợp nhiều điều kiện
với nhau như: bắt buộc cả hai hay nhiều điều kiện phải đúng hoặc chỉ cần một trong các điều kiện đúng là đủ hoặc không có điều kiện nào đúng...C# cung cấp một tập hợp các toán tử logic để phục vụ cho người lập trình.
+ Phép toán And (&&) // toán tử và .. cả 2 điều kiện phải đúng
int x = 10;
int y = 20;
if (x == 10 && y== 20)
Console.WriteLine("dung");
else
Console.WriteLine("sai");
+ Phép toán OR ( || ) // toán tử hoặc .. 1 trong 2 điều kiện đúng
int x = 10;
int y = 5;
if (x == 10 || y== 20)
Console.WriteLine("dung");
else
Console.WriteLine("sai");
+ Phép toán Not ( ! ) // phủ định . Đối với toán tử not, biểu thức sẽ có giá trị đúng khi điều kiện trong ngoặc là sai, và ngược lại,
int x = 3;
if (!(x == 3))
Console.WriteLine("dung");
else
Console.WriteLine("sai");
 Toán tử ba ngôi
Hầu hết các toán tử đòi hỏi có một toán hạng như toán tử (++, --) hay hai toán hạng như (+,-,*,/,...). Tuy nhiên, C# còn cung cấp thêm một toán tử có ba toán hạng (?:). Toán tử này có cú pháp sử dụng như sau: ( ? : )
Công thức : (Điều_kiện)?(Biểu thức 1):(Biểu thức 2);
Toán tử này sẽ xác định giá trị của một biểu thức điều kiện, và biểu thức điều kiện này phải trả về một giá trị kiểu bool. Khi điều kiện đúng thìsẽ được thực hiện, còn ngược lại điều kiện sai thì sẽ được thực hiện. Có thể diễn giải theo ngôn ngữ tự nhiên thì toán tử này có ý nghĩa : “Nếu điều kiện đúng thì làm công việc thứ nhất, còn ngược lại điều kiện sai thì làm công việc thứ hai”.
Vd:
int i = 5;
string test = i < 0 ? "i be hon 0" : "i lon hon 0";
Console.WriteLine(test);
Tương tự
int i = 5;
string test;
if (i < 0)
{
test = "i be hon 0";
}
else
{
test = "i lon hon 0";
}

0 nhận xét:

Post a Comment