Spis treści
- Rozdział 4 - Instrukcje warunkowe
- Podstawy instrukcji warunkowych
- Operatory relacyjne
- Typ boolean
- Warunki instrukcji if
- Operatory warunkowe i operator logiczny !
- Tablica prawdy operatorów warunkowych
- Nawiasy i priorytety operatorów warunkowych
- Short-circuit evaluation
- Zagnieżdżanie instrukcji warunkowych
- Bloki kodu i zakresy zmiennych
- Instrukcja switch
- Trój-argumentowy operator logiczny
- Podsumowanie
- Pytania
- Zadania
- Spójrz na poniższe fragmenty kodu i odpowiedz na pytanie, czy są one poprawnie zapisanym kodem źródłowym Java?
int x = 5; if x == 5 { System.out.println("x = 5"); }
int z = 5; if (z == 5) { System.out.println("z = 5"); } else System.out.println("z != 5"); else if (z < 5) { System.out.println("z < 5"); }
int a = 5; if (a) { System.out.println("a = 5"); }
boolean b = true; if (b) { System.out.println("Warunek spelniony."); }
int y = 5; if (y = 5) { System.out.println("y = 5"); }
int c = 5; boolean czyDodatnia = c > 0; if (czyDodatnia) { System.out.println("Warunek spelniony."); }
- Jaki będzie wynik uruchomienia poniższego programu, gdy zmienna x będzie równa:
- 10
- 20
- 30
- Będzie miała inną wartość.
switch (x) { case 10: System.out.println("10"); case 20: System.out.println("20"); break; case 30: System.out.println("30"); default: System.out.println("Inna wartosc."); }
- Jaki będzie wynik działania poniższego programu?
double liczba = 50; switch (liczba) { case 0: System.out.println("0"); break; case 50: System.out.println("50"); break; case 100: System.out.println("100"); break; default: System.out.println("Inna wartosc."); }
- Czy poniższa instrukcja if oraz użycie trój-argumentowego operatora logicznego są sobie równoważne?
int z = 5; int wartoscAbsolutna; if (z > 0) { wartoscAbsolutna = z; } else { wartoscAbsolutna = -z; } int wartoscAbsolutna2 = z > 0 ? -z : z;
- Jak porównać ze sobą dwa łańcuchy tekstowe (String)?
- W jaki sposób można skrócić poniższy kod?
int x = 5; boolean czyDodatnia; if (x > 0) { czyDodatnia = true; } else { czyDodatnia = false; }
- Jaka będzie wartość zmiennej pewnaZmienna?
boolean pewnaZmienna ; pewnaZmienna = !pewnaZmienna;
- Czy operatora = można używać do porównywania wartości?
- Jaka będzie wartość poniższego wyrażenia, jeżeli x = -5, y = -10, z = 20 ?
x > 0 && y > 0 || z > 0
- Jakie wartości mogą mieć zmienne typu boolean?
- Jeżeli mamy warunek x > 0 && y > 0, to czy wartość wyrażenia y > 0 będzie zawsze obliczana? Jeśli nie, to dlaczego i w jakim przypadku?
- Jaki będzie wynik działania poniższego programu (załóż, że getInt zwraca liczbę pobraną od użytkownika)?
int x; x = getInt(); if (x >= 0) { int poleKwadratu = x * x; } System.out.println("Pole kwadratu wynosi: " + poleKwadratu);
- Dla jakich wartości argumentów operatory && oraz || zwracają true? A dla jakiego argumentu zwraca wartość true operator ! (zaprzeczenie logiczne)?
- Który z operatorów ma wyższy priorytet: || czy && ?
- Co zostanie wypisane w wyniku uruchomienia poniższego programu (załóż, że getInt zwraca liczbę pobraną od użytkownika)?
int x; x = getInt(); if (x < 0) System.out.println("x jest mniejsze od 0"); x = -x; System.out.println("Wartosc absolutna pobranej liczby to: " + x);
- Co zostanie wypisane i dlaczego?
String komunikat = "Bedzie padac"; if (komunikat.equals("bedzie padac")) { System.out.println("Wez parasol!"); } else { System.out.println("Sloneczna pogoda."); }
- Jaki będzie wynik działania poniższego fragmentu kodu (załóż, że getInt zwraca liczbę pobraną od użytkownika)?
int x; int poleKwadratu; x = getInt(); if (x > 0) { System.out.println("x jest wieksze od zero."); poleKwadratu = x * x; } System.out.println("Pole kwadratu wynosi: " + poleKwadratu);