quocbao gửi vào
- 158898 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 = 10
Bạ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.