Forwarded from Java & JVM langs (Kotlin)
Сегодня второй день и с нами апостол GraalVM, Св. Олег Эстонскай
Forwarded from Java & JVM langs (Kotlin)
В целом, в русскоязычном коммьюнити пошла определенная дискуссия, связанная с тем, что этото новый способ настоящей компиляции ahead-of-time
Java Puzzler
Держите пазлер с доклада Баруха Садогурского и Тагира Валеева.
Что из этого не скомпилируется?
A.
B.
C.
D.
Держите пазлер с доклада Баруха Садогурского и Тагира Валеева.
Что из этого не скомпилируется?
A.
for (;;) {;;}
B.
for (;;) ;;
C.
{;} for(;;) {;}
D.
; for(;;) ;
Java Puzzler
Что будет выведено на экран?
A. 2
B. 25
C. 1
D. 50
Что будет выведено на экран?
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/
Сервисы для учебы, работы, бизнеса, продуктивности и прочего. У статьи 1,5 миллионов просмотров. Аккуратнее, там можно залипнуть на весь день
https://habr.com/post/250621/
Java Developer
Java Puzzler Держите пазлер с доклада Баруха Садогурского и Тагира Валеева. Что из этого не скомпилируется? A. for (;;) {;;} B. for (;;) ;; C. {;} for(;;) {;} D. ; for(;;) ;
Правильный ответ B. Из-за вечного цикла на последней точки с запятой произойдёт unreachable statement.
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.
Правильный ответ А. Компилятор заранее посчитает константы, и в тернарном операторе для типа переменной snow сделает выбор в пользу char. Значение snow становится 50, а при выводе на экран печатается 2, т.к. в таблице ascii 50-й символ это двойка.
В доке говорится, если одно из значений constant expression типа int, long, short, а второе - более узкое, то в случае влезания в диапазон меньшего, выберется он. Если убрать final у targaryens или lannisters, то правильный ответ будет D – 50.