Podczas pisania wielu instrukcji if może się zdarzyć, że więcej niż jeden z nich zostanie oceniony jako prawdziwy, ponieważ instrukcje są niezależne od siebie.
Podczas pisania pojedynczej instrukcji if else if if if if, else tylko jeden warunek może zostać oceniony jako true (po znalezieniu pierwszego warunku, który zwraca wartość true, następne warunki if-if są pomijane).
Możesz wykonać wiele instrukcji if zachowując się jak pojedyncza instrukcja if else if if, jeśli każdy z bloków warunku wyłamie się z bloku zawierającego instrukcje if (na przykład, przez powrót z metody lub przerwanie z pętla).
Na przykład:
public void foo (int x)
{
if (x>5) {
...
return;
}
if (x>7) {
...
return;
}
}
będzie miał takie samo zachowanie jak:
public void foo (int x)
{
if (x>5) {
...
}
else if (x>7) {
...
}
}
ale bez oświadczenia zwrotu będzie miał różne zachowanie gdy x> 5 i x> 7 są zarówno prawdziwe.
O ile warunki się nie wykluczają, tak, to robi różnicę. – dcastro
_ "Kiedy próbowałem napisać program z wieloma instrukcjami" if ", nie dało to oczekiwanych rezultatów, ale z" if else-if "zadziałało." _ Myślę, że właśnie odpowiedziałeś na to pytanie sam ... –
"Jeśli" stwierdzenia są obecne w wielu językach i są jedną z podstaw programowania. Ta strona dotyczy pytań i odpowiedzi dotyczących konkretnych problemów z programowaniem, więc taka dyskusja byłaby tutaj zbyt szeroka i poza tematem. – Abhay