@Visher: @fenix7557: @poczam: @Buckethead: @badAttitude:

#javozagadka

Trochę mało tych odpowiedzi dzisiaj i żadna mnie w pełni nie zadowala. 0.5 punkta dla @badAttitude bo odpowiedź dobra, ale liczyłem na trochę więcej

No to teraz odpowiedź:
Tworząc nową ArrayListę zaczynamy z 0-elementową tablicą. Dodanie pierwszego elementu skutkuje rozszerzeniem tablicy do domyślnej pojemności - 10 elementów. Oczywiście jeśli chcemy dodać na początku za jednym razem więcej niż 10 elementów, np.
#javozagadka #java #programowanie

Kolejna zagadka:

Kod:
String qwerty = "qwerty";
int 12345 = 12345;
String qwerty12345v1 = "qwerty12345";
String qwerty12345v2 = "qwerty" + 12345;
String qwerty12345v3 = qwerty +
12345;

System.out.println(qwerty12345v1 == qwerty12345v2);
System.out.println(qwerty12345v2 == qwerty12345v3);

Pytanie:
1.Co się wypisze?
2.CZEMU się tak wypisze?
Odpowiedź tylko na pierwsze się nie liczy

Pytanie dodatkowe* (z gwiazdką):
Co zrobić żeby oba porównania dały "true"? Należy wymienić 2 (słownie dwa) sposoby aby to zrobić. NIE
1. true false
2. ponieważ v1 i v2 to string literals, wg java language specyfication "A string literal is always of type String" https://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.10.5
jvm używa w przypadku string literals koncepcji string interning, więc referencje v1 i v2 będą wskazywać na ten sam obiekt. Natomiast w przypadku v3 będzie utworzony nowy obiekt ponieważ operator konkatancji wg specyfikacji zawsze tworzy nowy obiekt https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.3.3

*
- 1 użycie metody equals
- 2 porównanie wyników
@boo007: @splatch: @GuardianOfTheBlind: @badAttitude:
Prawdiłowa odpowiedź:
true false, z tego powodu jaki napisał @badAttitude
@boo007 otrzymuje punkta, bo był pierwszy; @badAttitude też otrzymuje punkta, bo najbardziej mi się podoba jego wytłumaczenie czemu tak się dzieje i jak to działa

co do zadania dodatkowego:
pierwszy sposób to equals()
drugiego sposobu który chciałem zobaczyć nikt nie napisał, a było to
System.out.println(qwerty12345v2 == qwerty12345v3.intern());

pojawiły się za to hashCode'y których nie
chcecie zagadkę? (java)
TYLKO BEZ SPRAWDZANIA PROSZE

jest sobie taki kod:

byte a = 0b1010;
byte b = 0b0101;
byte c = a ^ b;
System.out.println(c);

Pytanie: co się wypisze?

Pierwsza prawidłowa odpowiedź dostanie punkta!

zagadek pojawi się kiedyś więcej, może będzie jakaś nagroda za dużą ilość punktów ( ͡° ͜ʖ ͡°)
chyba że każdy będzie miał te zagadki w dupie, to sam sobie zrobie nagrode