/codegym.vn/ - 57
Ví dụ:
1.
if
(
a
>
b
)
{
2.
if
(
a
>
c
)
{
3. console
.
log
(
"Số lớn nhất là a = "
+
a
);
4.
}
else
{
5. console
.
log
(
"Số lớn nhất là c = "
+
c
);
6.
}
7.
}
else
{
8.
if
(
b
>
c
)
{
9. console
.
log
(
"Số lớn nhất là b = "
+
b
);
10.
}
else
{
11. console
.
log
(
"Số lớn nhất là c = "
+
c
);
12.
}
13.
}
Trong ví dụ này, chúng ta so sánh các giá trị của 3 biến là a, b và c để tìm ra giá trị
lớn nhất trong 3 số đó. Chúng ta cần đặt các câu lệnh điều kiện bên trong các câu
lệnh điều kiện khác.
Chẳng hạn, với trường hợp a = 5, b = 4, c = 3 thì biểu thức a > b sẽ trả về kết quả
true, do đó phần thân của lệnh if này được thực thi, phần thân của lệnh else tương
ứng sẽ được bỏ qua. Sau đó, biểu thức a > c cũng trả về kết quả true, do đó phần
thân của câu lệnh if này cũng sẽ được thực thi, và phần thân của câu lệnh else tương
ứng sẽ được bỏ qua. Như vậy, chuỗi in ra sẽ là “Số lớn nhất là a = 5”.
Hỏi nhanh: Hãy thử suy luận để xem luồng thực thi của đoạn mã trên sẽ là như thế
nào trong trường hợp a = 3, b = 4, c = 5.
6. Cấu trúc điều kiện if-else bậc thang
Khi chúng ta kết hợp nhiều câu lệnh if-else liên tiếp nhau theo dạng if-else-if thì chúng
ta được một dạng mới thường được gọi là câu lệnh điều kiện if-else bậc thang. Gọi là
bậc thang bởi vì khi viết chúng được trình bày dạng như các bậc thang hướng từ trên
xuống dưới.
Các khối lệnh điều kiện được đặt trong các câu lệnh if nối tiếp nhau, nếu một điều
kiện nào đó thoả mãn thì khối lệnh trong thân câu lệnh if sẽ được thực thi, còn nếu
điều kiện sai thì sẽ chuyển sang đánh giá điều kiện if tiếp theo cho đến khi kết thúc.
Luồng thực thi của khối lệnh if-else bậc thang có thể mô tả như lưu đồ sau: