Khi bạn viết nhiều câu lệnh if, có thể nhiều hơn một câu lệnh được đánh giá là true, vì các câu lệnh độc lập với nhau.
Khi bạn viết một câu lệnh if else-if else-if ... else, chỉ một điều kiện có thể được đánh giá là đúng (khi điều kiện đầu tiên đánh giá đúng là được tìm thấy, các điều kiện khác nếu điều kiện bị bỏ qua).
Bạn có thể thực hiện nhiều câu lệnh nếu hoạt động giống như câu lệnh if else-if .. else nếu mỗi khối điều kiện tách ra khỏi khối chứa câu lệnh if (ví dụ, bằng cách trả về từ phương thức hoặc ngắt một vòng lặp).
Ví dụ:
public void foo (int x)
{
if (x>5) {
...
return;
}
if (x>7) {
...
return;
}
}
sẽ có hành vi tương tự như:
public void foo (int x)
{
if (x>5) {
...
}
else if (x>7) {
...
}
}
Nhưng nếu không có những điều khoản trả lại nó sẽ có hành vi khác nhau khi x> 5 và x> 7 đều đúng.
Trừ khi các điều kiện loại trừ lẫn nhau, thì có, nó tạo sự khác biệt. – dcastro
_ "khi tôi cố gắng viết một chương trình với nhiều câu lệnh 'if', nó không đưa ra kết quả mong đợi. Nhưng với 'if else-if' nó hoạt động." _ Tôi nghĩ bạn vừa trả lời câu hỏi của mình ... –
Các câu lệnh "Nếu" có nhiều ngôn ngữ và là một trong những nguyên tắc cơ bản của lập trình. Trang web này là về Q & A cho các vấn đề lập trình cụ thể, do đó, một cuộc thảo luận như vậy sẽ là quá rộng và không có chủ đề ở đây. – Abhay