Zagadka Java #12

Zagadki Java zawierają różnego rodzaju niuanse języka i „podchwytliwe” fragmenty kodu. Każda następna zagadka będzie zawierała odpowiedź i wyjaśnienie do poprzedniej. Lista wszystkich zagadek.

Jeżeli znasz odpowiedź, podziel się nią w komentarzu!

Zagadka Java #12

Jaki będzie wynik uruchomienia poniższego programu?

public class NullWSwitch {
  public static void main(String[] args) {
    String str = null;

    switch (str) {
      case null -> System.out.println("str jest nullem.");
      case "kot" -> System.out.println("W zmiennej str schował się kot.");
      default -> System.out.println("Wartość zmiennej s to: " + str);
    }
  }
}

Odpowiedź do poprzedniej zagadki #11

Poniżej znajdziesz odpowiedź do poprzedniej zagadki.

Uruchomienie programu z zagadki #11 spowoduje wyświetlenie na ekranie komunikatu Stay at home. Operator warunkowy && (AND – i) ma wyższy priorytet, niż operator || (OR – lub), więc najpierw wyznaczona zostania wartość wyrażenia raining && cold, czyli false. Następnie, obliczony zostanie wynik wyrażenia false || night. Wartość zmiennej night to true, więc wynikiem tego wyrażenia będzie true, ponieważ operator || zwraca true, gdy chociaż jeden z jego operandów (argumentów) ma wartość true.

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.