naukaJavy.pl

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki
Home Kurs języka Java

Instrukcja warunkowa IF-ELSE

Email Drukuj

Instrukcja warunkowa to konstrukcja która umożliwia określenie warunku dla wykonania pewnego fragmentu kodu - kodu który chcemy uruchomić tylko wtedy, gdy spełnione są pewne warunki. Ogólna postać instrukcji warunkowej jest następująca:

if( {warunek} ) {
{kod wykonywany warunkowo}
}

Element {warunek} to dowolne wyrażenie które wylicza się do wartości typu boolean - w typowym przypadku jest to jakieś porównanie, np. x > y. Element {kod wykonywany warunkowo} to dowolny ciąg instrukcji, który wykona się tylko i wyłącznie wtedy, gdy {warunek} ma wartość true, tj. gdy warunek instrukcji warunkowej jest spełniony.

Instrukcja warunkowa umożliwia także określenie kodu wykonywanego alternatywnie, tj. kodu który ma się wykonać gdy warunek nie jest prawdziwy. Jest to tak zwana instrukcja IF-ELSE i ma ona postać:

if( {warunek} ) {
{kod wykonywany warunkowo}
} else {
{kod wykonywany alternatywnie}
}

Element {kod wykonywany alternatywnie} to dowolny ciąg instrukcji które będą wykonane jeśli warunek instrukcji warunkowej jest fałszywy. Przykładowo, poniższa metoda wyświetla dla zadanej liczby informację czy jest to liczba dodatnia czy nie.

void isPositive(int x) {
  if( x > 0 ) {
System.out.println("liczba " + x + " jest dodatnia");
} else {
System.out.println("liczba " + x + " jest niedodatnia");
}
}

Możemy instrukcję IF-ELSE rozbudować jeszcze bardziej, określając szereg warunków i bloków instrukcji. Instrukcja taka ma postać:

if( {warunek} ) {
{kod wykonywany warunkowo}
} else if ( {warunek drugi} ) {
{kod wykonywany gdy spełniony jest drugi warunek}
}
else {
{kod wykonywany alternatywnie}
}

Blok ELSE jest opcjonalny ale jeśli występuje to może być co najwyżej jeden. Bloków ELSE-IF może być dowolnie wiele - tak wiele jak wiele potrzebujemy. Poniżej udoskonalona wersja funkcji isPositive(...) która rozdziela wartości niedodatnie na wartości ujemne i zero:

void isPositive(int x) {
  if( x > 0 ) {
System.out.println("liczba " + x + " jest dodatnia");
} else if( x == 0 ) {
System.out.println("liczba " + x + " jest równa zero");
} else {
System.out.println("liczba " + x + " jest ujemna");
}
}

Zauważmy, że ten sam efekt możemy uzyskać implementując powyższą metodę zupełnie inaczej, przykładowo:

void isPositive(int x) {
  if( x > 0 ) {
System.out.println("liczba " + x + " jest dodatnia");
}

if
( x == 0 ) {
System.out.println("liczba " + x + " jest równa zero");
}

if( x < 0 ) {
System.out.println("liczba " + x + " jest ujemna");
}
}

Pierwsza forma jest naturalnie preferowana. Nie dość że jest ona zwięźlejsza w zapisie, to jeszcze potencjalnie szybciej się wykonuje, jako że mniejsza jest ilość porównań jakie należy wykonać w średnim przypadku.

Istnieje jeszcze nieco uproszczony sposób zapisu instrukcji warunkowej w przypadku gdy kod objęty instrukcją IF to pojedyńcza instrukcja. Możemy w takim przypadku pominąć nawiasy klamrowe obejmujące kod wykonywany warunkowo. Metoda isPositive(...) może więc być zapisana w postaci:

void isPositive(int x) {
  if( x > 0 )
System.out.println("liczba " + x + " jest dodatnia");
else if( x == 0 )
System.out.println("liczba " + x + " jest równa zero");
else
System.out.println("liczba " + x + " jest ujemna");
}
 

Wiadomości

Vishal Sikka, CTO w firmie SAP zaapelował o autentyczne, pełne przekazanie zarządzania rozwojem języka i platformy Java w ręce zrzeszenia firm działającego na zasadzie równoprawności - zrzeszenia nie zdominowanego przez firmę SUN, czy obecnie Oracle (SUN został kupiony przez Oracle).

Jednocześnie zaapelował o udostępnienie kodu źródłowego Maszyny Wirtualnej Javy na zasadach open-source.

SAP zdecydowany jest zainwestować znaczne środki w rozwój Javy, jeśli tylko postulaty te zostaną spełnione – dodał.

Reklama

Co to jest

Apache Lucene Java to biblioteka open-source napisana w języku Java. Lucene służy do implementacji mechanizmów wyszukiwania pełnotekstowego – taki mały Google, który możemy mieć we własnej aplikacji.


© Wszelkie prawa zastrzeżone dla Mariusza Lipińskiego

kontakt: mariusz.lipinski@naukajavy.pl | strona domowa: www.mariuszlipinski.pl