Istota jest tutaj pętli do - > while.
Czym się różni od zwykłej while? Tym że warunek podany :
while (a!=0);
wykona się po pierwszym przejściu "do" -> bo najpierw jest rób- > potem do póki ... coś, więc ten warunek zatrzyma po wykonaniu pierwszych instrukcji warunkowych dla "do"
A w tych instrukcjach warunkowych masz :
if (a<0)
{
System.out.println("Ta liczba jest mniejsza od zera");
}
else
{
System.out.println("Ta liczba jest większa od zera");
}
Aktualnie : a jest mniejsze od zera? No nie jest ... bo jest równe a to nie to samo, więc wykonuje się 'else' pozostałość, dodatkowo wykonuje się Print konćowy, dlatego że nie obejmuje on warunku while i znajduje się na dole.
System.out.print("Podałeś 0");
Gdybyś zmienił warunek ifa np na
if (a<=0)
to wykonało by sie System.out.println("Ta liczba jest mniejsza od zera");
dlatego, ze warunek byłby spełniony bo 0 = jest 0
mam nadzieje że w ten sposób pomogłem i co nie co wyjasniłem, pamiętaj "do" wykona się bez sprawdzenia warunku pętli dopiero warunek zostanie spełniony PO PIERWSZYM PRZEJŚCIU