Каким будет вывод этого кода?
Anonymous Quiz
17%
1 2
51%
1 2 3
20%
1 2 3 4
7%
1 2 3 4 5
5%
Узнать ответ
👍3
🕕 Задача по Java: Что будет выведено?
Варианты:
A) true, true
B) true, false
C) false, true
D) false, false
✅ Правильный ответ:B
Объяснение:
Java кэширует объекты Integer в диапазоне -128 ... 127. — то же значение и тот же объект.
— разные объекты вне кэша. Используй .equals() для сравнения!
public class Main {
public static void main(String[] args) {
Integer a = 127;
Integer b = 127;
Integer c = 128;
Integer d = 128;
System.out.println(a == b); // ?
System.out.println(c == d); // ?
}
}
Варианты:
A) true, true
B) true, false
C) false, true
D) false, false
✅ Правильный ответ:
Объяснение:
Java кэширует объекты Integer в диапазоне -128 ... 127.
a == b
c == d
👍12🤯11❤6🔥2
Какое из следующих утверждений правильно описывает поведение этой программы?
Anonymous Quiz
8%
5
26%
11
49%
12
12%
Ошибка времени компиляции
5%
Узнать ответ
❤6
Что напечатает код?
Anonymous Quiz
9%
true, true, true
33%
false, true, true
15%
false, false, true
29%
false, false, false
7%
другой вариант
8%
узнать результаты
🤔14❤4✍3👎1
Что будет при вызове /api/customers/{5}, если записи c id 5 нет
Anonymous Quiz
25%
HTTP 404 (Not Found) с телом ответа null
51%
HTTP 200 (OK) с телом ответа null
11%
NullPointerException
6%
HTTP 500 (Internal Server Error)
7%
HTTP 400 (Bad Request)
❤6
Какое из следующих утверждений правильно описывает поведение этой программы?
Anonymous Quiz
41%
false
37%
true
12%
ClassCastException во время запуска
4%
Ошибка времени компиляции
6%
Узнать ответ
🤔8
Java: Короткая задача
Задача:
Что выведет программа и почему?
Разбор:
Блок finally всегда выполняется, даже если есть return в try.
Когда JVM встречает return 1;, она сохраняет значение для возврата.
Затем выполняет finally.
В finally есть новый return 2; — он перезаписывает сохранённый результат.
👉 Поэтому вернётся 2, а не 1.
Полезно знать:
Такое поведение часто ломает логику при работе с ресурсами - finally может изменить или "затереть" возвращаемое значение.
Лучше не использовать return внутри finally вообще.
Задача:
Что выведет программа и почему?
public class Tricky {
public static void main(String[] args) {
System.out.println(getValue());
}
static int getValue() {
try {
return 1;
} finally {
return 2;
}
}
}
Разбор:
Блок finally всегда выполняется, даже если есть return в try.
Когда JVM встречает return 1;, она сохраняет значение для возврата.
Затем выполняет finally.
В finally есть новый return 2; — он перезаписывает сохранённый результат.
👉 Поэтому вернётся 2, а не 1.
Полезно знать:
Такое поведение часто ломает логику при работе с ресурсами - finally может изменить или "затереть" возвращаемое значение.
Лучше не использовать return внутри finally вообще.
👍6🤔5