quocbao gửi vào
- 164733 lượt xem
Giới thiệu
Trước khi đọc về lệnh if, các bạn cần xem qua các mục sau:
Các toán tử logic (Boolean operators)
| Toán tử | Ý nghĩa | Ví dụ | 
| and (&&) | Và | (a && b) trả về TRUE nếu a và b đều mang giá trị TRUE. Nếu một trong a hoặc b là FALSE thì (a && b) trả về FALSE | 
| or ( || ) | Hoặc | (a || b) trả về TRUE nếu có ít nhất 1 trong 2 giá trị a và b là TRUE, trả về FALSE nếu a và b đều FALSE | 
| not ( ! ) | Phủ định | nếu a mang giá trị TRUE thì (!a) là FALSE và ngược lại | 
| xor (^) | Loại trừ | (a ^ b) trả về TRUE nếu a và b mang hai giá trị TRUE/FALSE khác nhau, các trường hợp còn lại trả về FALSE | 
Các toán tử so sánh (Comparison operators)
Các toán tử so sánh thường dùng để so sánh 2 số có cùng một kiểu dữ liệu.
| Toán tử | Ý nghĩa | Ví dụ | 
| == | So sánh bằng | (a == b) trả về TRUE nếu a bằng b và ngược lại | 
| != | So sánh không bằng | (a != b) trả về TRUE nếu a khác b và ngược lại | 
| > | So sánh lớn | (a > b) trả về TRUE nếu a lớn hơn b và FALSE nếu a bé hơn hoặc bằng b | 
| < | So sánh bé | (a < b) trả về TRUE nếu a bé hơn b và FALSE nếu ngược lại | 
| <= | Bé hơn hoặc bằng | (a <= b) tương đương với ((a < b) or (a = b)) | 
| >= | Lớn hơn hoặc bằng | (a >= b) tương đương với ((a > b) or (a = b)) | 
Câu lệnh if
Cú pháp:
if ([biểu thức 1] [toán tử so sánh] [biểu thức 2]) {    //biểu thức điều kiện
    [câu lệnh 1]
} else {
    [câu lệnh 2]
}
Nếu biểu thức điều kiện trả về giá trị TRUE, [câu lệnh 1] sẽ được thực hiện, ngược lại, [câu lệnh 2] sẽ được thực hiện.
Ví dụ:
int a = 0;
if (a == 0) {
    a = 10;
} else {
    a = 1;
}
// a = 10
Lệnh if không bắt buộc phải có nhóm lệnh nằm sau từ khóa else
int a = 0;
if (a == 0) {
     a = 10;
}
// a = 10Bạn có thể kết hợp nhiều biểu thức điều kiện khi sử dụng lệnh if. Chú ý rằng mỗi biểu thức con phải được bao bằng một ngoặc tròn và phải luôn có một cặp ngoặc tròn bao toàn bộ biểu thức con.
| Cách viết đúng | Cách viết sai | 
| int a = 0; if ((a == 0) && (a < 1)) {      a = 10; } | int a = 0; if (a == 0) && (a < 1) {      a = 10; } | 
| 
 | int a = 0; if (a == 0 && a < 1) {      a = 10; } | 
Chú ý:
- a = 10; là một câu lệnh gán, giá trị logic của nó luôn là TRUE (vì lệnh gán này luôn thực hiện được)
- (a == 10) là một biểu thức logic có giá trị TRUE hay FALSE tùy thuộc vào giá trị của biến x.
Nếu bạn viết …
int a = 0;
if (a = 1) {
    a = 10;
}… thì giá trị của a sẽ bằng 10, vì (a = 1) là một câu lệnh gán, trong trường hợp này nó được xem như một biểu thức logic và luôn trả về giá trị TRUE.

 


