Các toán tử logic phần 1
Thuộc phần Kiến thức nền tảng trong hành trình Rust của Coddy. Bài học 20 trên 75.
Các toán tử logic dùng để kiểm tra kết hợp các phép so sánh trả về true hoặc false.
Ví dụ, câu lệnh sau gồm hai phép so sánh:
5 có lớn hơn 3 và nhỏ hơn 6 không?
| Toán tử | Ý nghĩa | Ví dụ |
|---|---|---|
&& | Và, true nếu tất cả đối số đều là true | a && b |
|| | Hoặc, true nếu bất kỳ đối số nào là true | a || b |
! | Không, true nếu đối số là false | !a |
Hãy xem một vài ví dụ,
5 lớn hơn 3 và 1 bằng 1,
let b1: bool = (5 > 3) && (1 == 1); // có giá trị trueGiải thích: Tất cả cá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,
let b2: bool = !(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,
let b3: bool = !(1 == 1) || false; // mang giá trị falseGiải thích: Tất cả toán hạng đều là false, nên b3 sẽ giữ giá trị false (phép toán or).
không (3 lớn hơn 4),
let b4: bool = !(3 > 4); // có giá trị trueGiải thích: Toán hạng là false, vì vậy b4 sẽ giữ giá trị true (phép toán not).
không (5 lớn hơn 10 hoặc 5 lớn hơn 1),
let b5: bool = !(5 > 10 || 5 > 1); // chứa 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 tổng thể b5 là false (phép toán not).
Thử thách
Người mớiBạn được cung cấp đoạn code. Hãy thay dấu hỏi của các biến b1 và b2 bằng các giá trị Boolean để b3 nhận giá trị true.
Có nhiều hơn một lời giải đúng.
Tự làm thử
fn main() {
// Viết code bên dưới
let b1: bool = ?;
let b2: bool = ?;
let b3: bool = b1 || b2;
// Đừng thay đổi dòng bên dưới
println!("b3 = {}", b3);
}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
5Các toán tử phần 2
Các toán tử logic phần 1Các toán tử logic phần 2Ôn tập: logic đơn giảnCác toán tử logic phần 33Biến phần 2
Khai báo kiểu dữ liệuQuy ước đặt tênSuy luận kiểu dữ liệuÔn tập: Khởi tạo biếnÉp kiểu dữ liệu9Vòng lặp
Vòng lặp for qua chuỗiVòng lặp whileBreakContinueVòng lặp lồng nhauNhãn vòng lặpVòng lặp vô hạnÔn tập: Đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngMảng làm tham sốTruy cập phần tửChỉnh sửa mảngÔn tập: In mảng đẹp mắtTự luyện tập: Trình biên dịch Rust online