Java tests
2.61K subscribers
97 photos
11 links
Java задачи и тесты

По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@pythonl - 🐍

@ai_machinelearning_big_data- ml

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚

@pythonlbooks-📚
Download Telegram
🤔12👍2💩2
Что выведет код сверху?
Anonymous Quiz
14%
000
17%
100
41%
010
28%
Ошибка компиляции
👍6👎3
Каким будет вывод этого кода?
Anonymous Quiz
17%
1 2
51%
1 2 3
20%
1 2 3 4
7%
1 2 3 4 5
5%
Узнать ответ
👍3
🕕 Задача по Java: Что будет выведено?


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

Правильный ответ: B

Объяснение:
Java кэширует объекты Integer в диапазоне -128 ... 127.
a == b — то же значение и тот же объект.
c == d — разные объекты вне кэша. Используй .equals() для сравнения!
👍12🤯116🔥2
Какое из следующих утверждений правильно описывает поведение этой программы?
Anonymous Quiz
8%
5
25%
11
49%
12
12%
Ошибка времени компиляции
5%
Узнать ответ
6
Что напечатает код? (Супермаловероятными событиями тут пренебрегаем)
1👍1
Что будет при вызове /api/customers/{5}, если записи c id 5 нет
2
Что выведет код ?
Какое из следующих утверждений правильно описывает поведение этой программы?
Anonymous Quiz
39%
false
38%
true
13%
ClassCastException во время запуска
4%
Ошибка времени компиляции
6%
Узнать ответ
🤔8
Java: Короткая задача

Задача:
Что выведет программа и почему?


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 вообще.
👍13🤔5
# Хитрая задачка на Java: не то, чем кажется

Внимательно изучите следующий код:


public class WhatTheJava {
public static void main(String[] args) {
String s1 = "hello";
String s2 = "hello";
String s3 = new String("hello");
String s4 = new String("hello").intern();

System.out.println(s1 == s2); // (1)
System.out.println(s1 == s3); // (2)
System.out.println(s1 == s4); // (3)
System.out.println(s3 == s4); // (4)

Integer i1 = 1000;
Integer i2 = 1000;
Integer i3 = 100;
Integer i4 = 100;

System.out.println(i1 == i2); // (5)
System.out.println(i3 == i4); // (6)

Boolean b1 = true;
Boolean b2 = true;
Boolean b3 = Boolean.valueOf("true");
Boolean b4 = new Boolean(true);

System.out.println(b1 == b2); // (7)
System.out.println(b1 == b3); // (8)
System.out.println(b1 == b4); // (9)
}
}


Вопрос:
Что напечатает эта программа? Обоснуйте каждый вывод, опираясь на спецификацию Java и особенности работы с пулом строк, кэшированием обёрток и автоупаковкой.
3