Zagadka Java #9

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 #9

Czy poniższe klasy się skompilują? Jeżeli tak, to jaki będzie efekt ich uruchomienia? Metoda Math.random zwraca losową wartość typu double z przedziału <0.0, 1.0).

public class TernaryOperator1 {
  public static void main(String[] args) {
    double d = Math.random();

    int x = d > 0.5 ? 1 : "prawda";

    System.out.println(x);
  }
}
public class TernaryOperator2 {
  public static void main(String[] args) {
    double d = Math.random();

    var x = d > 0.5 ? 0 : "prawda";

    System.out.println(x);
  }
}
public class TernaryOperator3 {
  public static void main(String[] args) {
    double d = Math.random();

    System.out.println(d > 0.5 ? 0 : "prawda");
  }
}

Odpowiedź do poprzedniej zagadki #8

Poniżej znajdziesz odpowiedź do poprzedniej zagadki.

Przed wersją Java 14, próba kompilacji klasy SwitchExpression zakończyłaby się niepowodzeniem. Kompilator protestowałby z powodu treści metody isWeekend. Metoda ta korzysta z nowej funkcjonalności języka Java, wprowadzonej do niego w wersji 14 (chociaż była ona dostępna w wersjach 12 i 13 jako funkcjonalność „preview”). Mam tutaj na myśli wyrażenia switch. Do tej pory mogliśmy korzystać z instrukcji switch. Od wersji Java 14, switch może być traktowane jako wyrażenie, które ma pewną wartość. Korzystamy z tej funkcjonalności w metodzie isWeekend – bezpośrednio zwracamy wartość, którą będzie miało poniższe wyrażenie switch:

switch (dayNumber) {
    case 6, 7 -> true;
    default -> false;
};

Dodatkowo, korzystamy z nowej składni:

case wartość -> zwracana_wartość;
Więcej o funkcjonalnościach „preview”, nowościach w języku Java, a także o wyrażeniach switch, znajdziesz w moim artykule Nowości w Java 14.

Podsumowując, klasa SwitchExpression skompiluje się bez błędów, a na ekranie zobaczymy:

Weekend!

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.