Spróbuję to zobrazować na przykładzie. A raczej na dwóch przykładach. Różnicę sam zobaczysz.
Przykład pierwszy: same ify, bez instrukcji else if.
{
int zmienna = 16;
if(zmienna == 12) (jakaś instrukcja)
if(zmienna == zmienna) (jakaś instrukcja 2)
if(zmienna < 20) (jakaś instrukcja 3)
if (zmienna > 0) (jakaś instrukcja 4)
}
Drugi przykład: z instrukcją else if
{
int zmienna = 16;
if(zmienna == 12) (jakaś instrukcja)
else if(zmienna == zmienna) (jakaś instrukcja 2)
else if(zmienna < 20) (jakaś instrukcja 3)
else if (zmienna > 0) (jakaś instrukcja 4)
}
W pierwszym przypadku spelnione zostaną wszystkie instrukcje z wyjątkiem pierwszej. W drugim przypadku zostanie spełniona tylko druga instrukcja. A przynajmniej mi się wydaje, że tak jest. Niech ktoś mi napisze komentarz i napisze czy mam rację :P