Rozdział 4 - Instrukcje warunkowe - Warunki instrukcji if

Na początku rozdziału o instrukcjach warunkowych wspomnieliśmy, że warunek instrukcji warunkowej musi mieć wartość prawda (true) lub fałsz (false).

Oznacza to, że w warunku instrukcji warunkowej musimy umieścić wyrażenie, którego wartość będzie miała wartość true bądź false.

Możemy, tak jak już widzieliśmy, zapisać wyrażenie z użyciem operatora relacyjnego:

Nazwa pliku: SprawdzMianownik.java
public class SprawdzMianownik {
  public static void main(String[] args) {
    double licznik, mianownik;

    licznik = 5;
    mianownik = 0;

    if (mianownik != 0) {
      System.out.println("Wynik: " + licznik / mianownik);
    } else {
      System.out.println("Mianownik nie moze byc = 0!");
    }
  }
}

Możemy też skorzystać ze zmiennej typu boolean i przyrównać jej wartość do wartości true bądź false:

Nazwa pliku: BooleanWIf.java
public class BooleanWIf {
  public static void main(String[] args) {
    boolean czyPadaDeszcz = false;

    if (czyPadaDeszcz == true) {
      System.out.println("Wez parasol!");
    } else {
      System.out.println("Zostaw parasol w domu.");
    }
  }
}

Powyższy warunek czyPadaDeszcz == true jest co prawda poprawny, ale jest nadmiarowy – w końcu sama zmienna czyPadaDeszcz niesie już informację typu true / false – możemy więc zapisać powyższy warunek w następujący, skrócony sposób:

Nazwa pliku: BooleanWIf.java
public class BooleanWIf {
  public static void main(String[] args) {
    boolean czyPadaDeszcz = false;

    if (czyPadaDeszcz) {
      System.out.println("Wez parasol!");
    } else {
      System.out.println("Zostaw parasol w domu.");
    }
  }
}

Usunęliśmy operator relacyjny == przyrównujący wartość zmiennej czyPadaDeszcz do wartości true. Kod jest poprawny, ponieważ warunek instrukcji warunkowej to nadal jedna z dwóch możliwych wartości – true bądź false, ponieważ takie właśnie wartości mogą przechowywać zmienne typu boolean. Kod działa tak samo, jak jego poprzednia wersja, ale jest krótszy.

W ten właśnie sposób zapisujemy zawsze warunki w instrukach if, jeżeli sprawdzamy wartość zmiennej typu boolean – nie powinniśmy nigdy zapisywać warunków ze zmiennymi typu boolean w postaci zmiennaTypuBoolean == true (bądź false).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Nie musisz podawać swojego imienia, e-mailu, ani strony www, aby opublikować komentarz. Komentarze muszą zostać zatwierdzone, aby były widoczne na stronie.