Toán tử logic phần 1
Thuộc phần Kiến thức nền tảng trong hành trình C# của Coddy. Bài học 21 trên 69.
Các toán tử logic dùng để kết hợp hoặc thay đổi các biểu thức Boolean. Chúng rất cần thiết để tạo điều kiện phức tạp trong code.
Ví dụ, câu lệnh sau chứa hai phép so sánh:
5 lớn hơn 3 và nhỏ hơn 6 phải không?
| Toán tử | Ý nghĩa | Ví dụ |
|---|---|---|
&& | Và, true nếu tất cả toán hạng đều là true | a && b |
|| | Hoặc, true nếu bất kỳ toán hạng nào là true | a || b |
! | Không, true nếu toán hạng là false | !a |
Hãy xem một vài ví dụ:
5 lớn hơn 3 và 1 bằng 1:
bool b1 = (5 > 3) && (1 == 1); // có giá trị trueGiải thích: Tất cả toán hạng đều là true, vì vậy b1 sẽ giữ giá trị true (phép toán and cho kết quả true nếu cả hai toán hạng đều là true).
5 không bằng 4 hoặc 5 bằng 2:
bool b2 = !(5 == 4) || (5 == 2); // có giá trị trueGiải thích: Toán hạng thứ nhất (!(5 == 4)) là true, nên b2 cũng là true (phép toán or cho kết quả true nếu một trong hai toán hạng là true)
1 không bằng 1 hoặc false:
bool b3 = !(1 == 1) || false; // có giá trị falseGiải thích: Tất cả toán hạng đều là false, vì vậy b3 sẽ giữ giá trị false (phép toán or).
không phải (3 lớn hơn 4):
bool b4 = !(3 > 4); // có giá trị trueGiải thích: Toán hạng là false, nên b4 sẽ chứa true (phép toán not).
không (5 lớn hơn 10 hoặc 5 lớn hơn 1):
bool b5 = !(5 > 10 || 5 > 1); // có giá trị falseGiải thích: 5 > 10 || 5 > 1 là true (một trong các toán hạng là true), nên kết quả cuối cùng của b5 là false (phép toán not).
Thử thách
Người mớiBạn được cho một đoạn code. Thay dấu hỏi của các biến b1 và b2 để b3 có giá trị true.
Có nhiều lời giải đúng!
Tự làm thử
// Viết code của bạn bên dưới
bool b1 = ?;
bool b2 = ?;
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Các toán tử, phần 1
Toán tử số họcToán tử moduloTăng và giảmTăng và giảm hậu tốToán tử số học rút gọn5Toán tử phần 2
Toán tử so sánhToán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Tự luyện tập: Trình biên dịch C# online