Zagadka Java #11

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

Jaki, oraz dlaczego, będzie wynik kompilacji i uruchomienia poniższej klasy?

public class AndOr {
  public static void main(String[] args) {
    boolean raining = false;
    boolean cold = false;
    boolean night = true;

    if (raining && cold || night) {
      System.out.println("Stay
zobacz więcej...

Zagadka Java #10

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

Czy klasa ToTakeUmbrellaOrNot skompiluje się bez błędów? Jeżeli tak, to co zobaczymy na ekranie w wyniku jej uruchomienia?

public interface ToBeOrNotToBe {
  default void question() {
    System.out.println("To
zobacz więcej...

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
zobacz więcej...

Nowy artykuł: Nowości w Java 14

Na stronę dodałem nowy artykuł: Nowości w Java 14. Z artykułu dowiesz się m. in.:

  • gdzie znaleźć proponowane nowe funkcjonalności dla języka Java,
  • czym są funkcjonalności „preview” i jak z nich korzystać,
  • prezentację pięciu nowości w 14 wersji języka Java:
    • wyrażenia switch,
    • pomocne wyjątki NullPointerException,
    • rekordy (preview),
    • usprawnienie operatora instanceof (preview),
    • bloki tekstu (second preview),
  • informację, jak korzystać z funkcjonalności „preview” w IntelliJ IDEA.
zobacz więcej...

Zagadka Java #8

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

Czy poniższa klasa się skompiluje? Jeżeli tak, to jaki będzie efekt jej uruchomienia?

public class SwitchExpression {
  public static void main(String[] args) {
    if (isWeekend(6)) {
      System.out.println("Weekend!");
    } else {
      System.out.println("Work,
zobacz więcej...

Zagadka Java #7

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

Czy poniższa klasa się skompiluje? Jeżeli tak, to jaki będzie efekt jej uruchomienia?

public class CatchThrowable {
  public static void main(String[] args) {
    try {
      System.out.println(divide(5,
zobacz więcej...

Zagadka Java #6

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

Które z poniższych linii kodu klasy SpotTheError spowodują błąd kompilacji i dlaczego?

public class SpotTheError {
  public static final void main(String[] args) {
    long longVal = 9876543210;

    int intVal1 = 1_0;
    int intVal2 = 0xff;

    String $fiveDollars = "$5";
    String #ofPuzzlesSoFar = 6;

    float floatVal1 = 0;
    float floatVal2 = 0.0;

    byte byteVal1 = 1;
    byte byteVal2 = (byte) -129;

    long anotherLong = 1;

    switch (anotherLong) {
      case 0:
        System.out.println("0");
        break;
      default:
        System.out.println(anotherLong);
        break;
    }
  }
}

Odpowiedź do poprzedniej zagadki #5

Poniżej znajdziesz odpowiedź do poprzedniej zagadki.… zobacz więcej...

Napiszmy razem grę – Hello Snake!

Do kursu Tworzenie gier w języku Java dodałem nowy rozdział: Tworzenie gry Hello Snake!

Jest to druga gra, którą napiszemy razem w ramach kursu Tworzenie gier w języku Java. Grę stworzymy krok po kroku: zaczynając od pustego projektu, będziemy dodawać kolejne funkcjonalności, aż osiągniemy finalną wersję gry, która prezentuje się następująco:

Zapraszam do czytania!

Kurs tworzenia gier w języku Java – Tworzenie gry Hello Snake!

Zagadka Java #5

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

Jaki, oraz dlaczego, będzie wynik kompilacji i uruchomienia klasy MyExceptionTest?

class MyException extends Exception {}

public class MyExceptionTest {
  public static void m() throws MyException {}
  public static void m2() {}
  public static void m3() {}

  public static void main(String[] args) {
    try {
      m();
    } catch (MyException e) {}

    try {
      m2();
    } catch (MyException e) {}

    try {
      m3();
    } catch (Exception e) {}
  }
}

Odpowiedź do poprzedniej zagadki #4

Poniżej znajdziesz odpowiedź do poprzedniej zagadki.… zobacz więcej...