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

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

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

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

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

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