Java Interview Tasks
3.88K subscribers
188 photos
1 file
121 links
Реальные вопросы и задачи с собеседований.
Оригинальный авторский контент.
Актуальный материал.
Уровень вопросов от junior до supersenior.

Автор канала - @alexzelentsov

По рекламе: @alexzelentsov и https://telega.in/c/java_interview_tasks
Download Telegram
🔍 Ответ на задачу про передачу примитивов в методы в Java

Давайте рассмотрим, что произойдёт при выполнении этого кода:
public static void main(String[] args) {
int count = 123;
inc(count);
System.out.println(count);
}

private static void inc(int count) {
count++;
}


Чего ожидать от вывода?

🔎 В Java при передаче примитивных типов (таких как int) в методы используется передача по значению. Это означает, что в метод inc передаётся копия значения count, а не сама переменная. Таким образом, любые изменения над параметром count в методе inc не влияют на переменную count в методе main.

🌟 Вот шаги выполнения:

В main у нас переменная count равна 123.
Мы вызываем метод inc(count), передавая копию значения count.
В методе inc эта копия увеличивается на 1, но никак не затрагивает оригинальную переменную в main.
Поэтому System.out.println(count); выведет оригинальное значение: 123

🔗 Это пример важной концепции в Java — примитивы передаются по значению, и изменения не сохраняются вне метода. Помните об этом при проектировании ваших программ!

⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️⚡️

🔍 Ответ на задачу про неизменяемость объектов в Java

Здесь у нас код, который работает с неизменяемостью объектов в Java:
public static void main(String[] args) {
Integer count = 123;
inc(count);
System.out.println(count);
}

private static void inc(Integer count) {
count++;
}


Что выведет этот код?

🤔 Давайте разберёмся. На первый взгляд могло бы показаться, что после вызова метода inc count увеличится. Но это не так.

🔸 Тип Integer — это неизменяемый объект в Java. Кроме того, при передаче в метод inc, создаётся копия ссылки, а не передача по ссылке, как в некоторых других языках.

🔸 Метод count++ использует count локально, создавая новый объект Integer, но не изменяет оригинальный объект count в main.

Таким образом, System.out.println(count); напечатает: 123

😯 Не забывайте об этих особенностях при работе с объектами! Если у вас есть мысли или вопросы, делитесь ими в комментариях! Подписывайтесь и ставьте лайк, чтобы не пропустить новые посты! 🤗

#Java #неизменяемость #Integer #java_interview_tasks
🔥6👍31😨1