Java Developer
6.45K subscribers
235 photos
8 videos
12 files
279 links
MAKE JAVA GREAT AGAIN

Мемы: @java_memes
加入频道
Тут Алексей Зиновьев комментирует доклады второго дня JPoint’а
Сегодня второй день и с нами апостол GraalVM, Св. Олег Эстонскай
В целом, в русскоязычном коммьюнити пошла определенная дискуссия, связанная с тем, что этото новый способ настоящей компиляции ahead-of-time
Java Puzzler
Держите пазлер с доклада Баруха Садогурского и Тагира Валеева.

Что из этого не скомпилируется?
A. for (;;) {;;}
B. for (;;) ;;
C. {;} for(;;) {;}
D. ; for(;;) ;
Java Puzzler

Что будет выведено на экран?

final var targaryens = 2;
final var lannisters = 25;
final var starks = ‘1’;
final var snow = true ?
targaryens * lannisters
: starks;
System.out.print(snow);

A. 2
B. 25
C. 1
D. 50
300 бесплатных полезных ресурсов

Сервисы для учебы, работы, бизнеса, продуктивности и прочего. У статьи 1,5 миллионов просмотров. Аккуратнее, там можно залипнуть на весь день
https://habr.com/post/250621/
Java Developer
Java Puzzler Что будет выведено на экран? final var targaryens = 2; final var lannisters = 25; final var starks = ‘1’; final var snow = true ? targaryens * lannisters : starks; System.out.print(snow); A. 2 B. 25 C. 1 D. 50
переписал объяснение:

Правильный ответ А. Компилятор заранее посчитает константы, и в тернарном операторе для типа переменной snow сделает выбор в пользу char. Значение snow становится 50, а при выводе на экран печатается 2, т.к. в таблице ascii 50-й символ это двойка.

В доке говорится, если одно из значений constant expression типа int, long, short, а второе - более узкое, то в случае влезания в диапазон меньшего, выберется он. Если убрать final у targaryens или lannisters, то правильный ответ будет D – 50.