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

Nowy podrozdział Kursu Java: Konstruktory i tworzenie obiektów klas pochodnych

Do rozdziału Dziedziczenie i polimorfizm Kursu Java dodałem nowy podrozdział:

Konstruktory i tworzenie obiektów klas pochodnych

W rozdziale przypomnimy sobie, czym są konstruktory, a także zobaczymy, jak tworzone są obiekty klas, które rozszerzają (dziedziczą po) innych klasach, jaka jest kolejność wywoływania konstruktorów, do czego służy słowo kluczowe super, a także jak prywatne konstruktory wpływają na dziedziczenie.… zobacz więcej...

Zagadka Java #4

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

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

import java.util.Arrays;
import java.util.List;

public class TabToList {
  public static void main(String[] args) {
    Integer[] tab = { 1, 10, 100 };
    List<Integer> list = Arrays.asList(tab);

    // zmień wartość pierwszego elementu listy
    list.set(0,
zobacz więcej...

Fragment nowego rozdziału Kursu Java – Dziedziczenie i polimorfizm

Na stronę dodałem początkowe podrozdziały nowego rozdziału Kursu Java, zatytułowanego Dziedziczenie i polimorfizm.

W tym rozdziale dokładnie Ci o nich opowiem, a także o wielu związanych z nimi zagadnieniach. Gdy rozdział będzie ukończony, dowiesz się m. in.:

  • czym są dziedziczenie, polimorfizm, a także method overriding,
  • jak rozszerzać klasy i jakie są limity liczby rozszerzanych klas,
  • które pola i metody się dziedziczy, a których nie,
  • do czego służy modyfikator protected i jakie ma cechy wspólne z modyfikatorem o domyślnym dostępie (tzn.
zobacz więcej...

Zagadka Java #3

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

Co, i dlaczego, zobaczymy na ekranie w wyniku uruchomienia klasy JustMain?

public class Animal {
  protected String favoriteFood = "unknown";

  public void eat() {
    System.out.println("Animal
zobacz więcej...

Nowy kurs – IntelliJ IDEA w akcji!

Na stronę dodałem zupełnie nowy kurs: IntelliJ IDEA w akcji.

Z kursu dowiesz się m. in.:

  • Do czego służy IntelliJ IDEA i skąd pobrać to narzędzie.
  • Jak importować i uruchamiać projekty, także te korzystające z Maven oraz Gradle.
  • Jakie funkcjonalności oferuje IDEA.
  • Jakie są przydatne skróty i ustawienia.
  • Czym jest debuggowanie i refactorowanie kodu oraz jak wykonywać te czynności w IntelliJ IDEA.
zobacz więcej...