Как проще всего вывести содержимое Map на консоль? 🤔
Есть несколько способов, но вот самые удобные и читаемые:
🔹 1. Самый ленивый способ — просто println
Работает из коробки!
Java сама выведет пары в формате:
{key1=value1, key2=value2, key3=value3}
✔️ Отлично подходит для быстрой отладки.
🔹 2. Через цикл for-each и entrySet() (классический вариант):
✔️ Плюс: есть доступ и к ключу, и к значению
✔️ Минус: чуть больше кода
🔹 3. Используя метод forEach() интерфейса Map (начиная с Java 8):
✔️ Плюс: максимально кратко и современно
✔️ Минус: может быть непривычно новичкам
Есть несколько способов, но вот самые удобные и читаемые:
🔹 1. Самый ленивый способ — просто println
System.out.println(myMap);
Работает из коробки!
Java сама выведет пары в формате:
{key1=value1, key2=value2, key3=value3}
✔️ Отлично подходит для быстрой отладки.
🔹 2. Через цикл for-each и entrySet() (классический вариант):
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}✔️ Плюс: есть доступ и к ключу, и к значению
✔️ Минус: чуть больше кода
🔹 3. Используя метод forEach() интерфейса Map (начиная с Java 8):
map.forEach((key, value) ->
System.out.println(key + " = " + value)
);
✔️ Плюс: максимально кратко и современно
✔️ Минус: может быть непривычно новичкам
👍4
“Зачем Вы нам даете тесты по Map?
Мы ведь до этой темы еще не дошли… “ - так, вероятно, скажут те, кто еще изучает “Основы языка Java” или “ООП”.
Да, для Вас приводимый код кажется странным и непонятным. И это нормально!
А я просто хочу привлечь внимание к своему курсу “Прокачай Java” 😊 В нем тема коллекций Java разбирается подробно, но без перегруза.
🤓 А также темы про ввод-вывод, многопоточность, регулярки, лямбда-выражения и Streams…
Тем более, что скоро грядет большая распродажа курсов на Степик. На этот курс будет скидка 20%.
Так что ждем начала распродажи 27 мая, и начинаем разбираться с Map! 💥
Мы ведь до этой темы еще не дошли… “ - так, вероятно, скажут те, кто еще изучает “Основы языка Java” или “ООП”.
Да, для Вас приводимый код кажется странным и непонятным. И это нормально!
А я просто хочу привлечь внимание к своему курсу “Прокачай Java” 😊 В нем тема коллекций Java разбирается подробно, но без перегруза.
🤓 А также темы про ввод-вывод, многопоточность, регулярки, лямбда-выражения и Streams…
Тем более, что скоро грядет большая распродажа курсов на Степик. На этот курс будет скидка 20%.
Так что ждем начала распродажи 27 мая, и начинаем разбираться с Map! 💥
🔥5❤2
class A {
int x = 5;
}
public class Main {
public static void main(String[] args) {
A a1 = new A();
A a2 = a1;
a2.x = 10;
System.out.println(a1.x);
}
}👍1
Повышаю цену на курс "Основы языка Java" 🥲
По рекомендации команды Степика я решила поднять цену на курс "Основы языка Java". Они считают, что низкая цена отпугивает подозрением на низкое качество 🤷♂️.
Но для Вас я зафиксировала прежнюю цену до конца июня.
Вы, конечно, уже прошли (или проходите) этот курс. Но, возможно, захотите подарить его кому-то :) Так что вот ссылка с вшитым промокодом: https://stepik.org/a/124803/pay?promo=c2f50a4565593edb
По рекомендации команды Степика я решила поднять цену на курс "Основы языка Java". Они считают, что низкая цена отпугивает подозрением на низкое качество 🤷♂️.
Но для Вас я зафиксировала прежнюю цену до конца июня.
Вы, конечно, уже прошли (или проходите) этот курс. Но, возможно, захотите подарить его кому-то :) Так что вот ссылка с вшитым промокодом: https://stepik.org/a/124803/pay?promo=c2f50a4565593edb
👍5
class A {
void print() {
System.out.println("A");
}
}
class B extends A {
void print(int x) {
System.out.println("B");
}
}
public class Main {
public static void main(String[] args) {
A obj = new B();
obj.print();
}
}👍4
Переопределение vs Перегрузка в Java — в чем разница? 🤔
Эти два термина часто путают, хотя они про совершенно разные вещи.
🔹 Перегрузка (Overloading)
Это когда есть несколько методов с одинаковым именем, но разными параметрами.
✔️ Решается на этапе компиляции
✔️ Отличается сигнатура методов (параметры)
✔️ Используется для удобства и читаемости кода
🔹 Переопределение (Overriding)
Это когда подкласс изменяет поведение метода родительского класса.
✔️ Работает на этапе выполнения (runtime)
✔️ Требует наследования
✔️ Сигнатура метода должна совпадать
✔️ Позволяет реализовать полиморфизм
Эти два термина часто путают, хотя они про совершенно разные вещи.
🔹 Перегрузка (Overloading)
Это когда есть несколько методов с одинаковым именем, но разными параметрами.
✔️ Решается на этапе компиляции
✔️ Отличается сигнатура методов (параметры)
✔️ Используется для удобства и читаемости кода
🔹 Переопределение (Overriding)
Это когда подкласс изменяет поведение метода родительского класса.
✔️ Работает на этапе выполнения (runtime)
✔️ Требует наследования
✔️ Сигнатура метода должна совпадать
✔️ Позволяет реализовать полиморфизм
🔥4❤3
Скоро-скоро весенне-летняя распродажа курсов на Степике!
✔️С 27 мая по 9 июня на все мои курсы будет скидка 20%. Если хотите добавить себе новые знания и навыки – это само время!
✔️Курсы выстроены в логическую цепочку: “Основы языка Java” -> “Объектно – ориентированное программирование на Java” -> “Прокачай Java”.
👌В итоге – знания Java Core на уровне junior . Как видите, звезд с неба и позицию senior не обещаю. Но твердую базу для дальнейшего развития – да!
✔️С 27 мая по 9 июня на все мои курсы будет скидка 20%. Если хотите добавить себе новые знания и навыки – это само время!
✔️Курсы выстроены в логическую цепочку: “Основы языка Java” -> “Объектно – ориентированное программирование на Java” -> “Прокачай Java”.
👌В итоге – знания Java Core на уровне junior . Как видите, звезд с неба и позицию senior не обещаю. Но твердую базу для дальнейшего развития – да!
❤2
class Test {
static int x = 5;
static void change(int x) {
x = x + 10;
}
public static void main(String[] args) {
change(x);
System.out.println(x);
}
}Вчера стартовала летняя распродажа на Stepik 🔥
Если давно хотели прокачать навыки по Java — сейчас хороший момент: до 9 июня на платформе действуют скидки на множество курсов по программированию.
Мои курсы тоже участвуют 🙌
Co скидкой 20% (самой большой в году!) можно приобрести:
— “Основы языка Java” – курс для полных новичков в этом языке;
— “Объектно – ориентированное программирование на Java” – следующий курс, который научит понимать принципы ООП и воплощать их в своем коде;
— “Прокачай Java” – курс, который завершает линейку изучения Java Core. Он посвящен изучению стандартных классов, а также современным возможностям Java.
Если давно хотели прокачать навыки по Java — сейчас хороший момент: до 9 июня на платформе действуют скидки на множество курсов по программированию.
Мои курсы тоже участвуют 🙌
Co скидкой 20% (самой большой в году!) можно приобрести:
— “Основы языка Java” – курс для полных новичков в этом языке;
— “Объектно – ориентированное программирование на Java” – следующий курс, который научит понимать принципы ООП и воплощать их в своем коде;
— “Прокачай Java” – курс, который завершает линейку изучения Java Core. Он посвящен изучению стандартных классов, а также современным возможностям Java.
👍4
И да, забыла самое выгодное: программы курсов:
— "Java Core: программа курсов" - включает все три моих курса по Java;
— "Программа: Java-разработчик [ Java + ООП + SQL + Linux + Git ]" - мастхев Java-разработчика.
— "Java Core: программа курсов" - включает все три моих курса по Java;
— "Программа: Java-разработчик [ Java + ООП + SQL + Linux + Git ]" - мастхев Java-разработчика.
👍4
class Test {
static int x = 10;
static {
x = 20;
}
public static void main(String[] args) {
System.out.println(x);
}
}👏4
class Test {
static int x = 10;
static void print() {
System.out.println(x);
}
}
public class Main {
public static void main(String[] args) {
Test t = null;
t.print();
}
}Что произойдет?
Anonymous Quiz
32%
NullPointerException
15%
Ошибка компиляции
49%
Вывод 10
5%
ClassCastException
👍5
class Test {
static int x = 10;
static void print() {
int x = 5;
System.out.println(this.x);
}
public static void main(String[] args) {
print();
}
}❤3
👍2
💡 Статические члены класса в Java — зачем они?
🔹 Статические поля — общие для всех объектов
Например, счётчик созданных экземпляров.
🔹 Статические методы — можно вызывать без создания объекта
Классический пример —
📌 Основные правила:
• К статическим членам обращаются через имя класса;
• Статический метод не имеет доступа к полям экземпляра напрямую;
• В статическом методе нельзя использовать
• Нестатические методы могут обращаться к статическим членам;
• Статические поля инициализируются при первом использовании класса (создание объекта или обращение к
• Вызов через объект (
⚠️ Важно: статические методы нельзя переопределять (override), только скрывать (hide).
Коротко:
static — это то, что относится не к объекту, а к классу в целом.🔹 Статические поля — общие для всех объектов
Например, счётчик созданных экземпляров.
🔹 Статические методы — можно вызывать без создания объекта
Классический пример —
Math.random().📌 Основные правила:
• К статическим членам обращаются через имя класса;
• Статический метод не имеет доступа к полям экземпляра напрямую;
• В статическом методе нельзя использовать
this;• Нестатические методы могут обращаться к статическим членам;
• Статические поля инициализируются при первом использовании класса (создание объекта или обращение к
static);• Вызов через объект (
obj.method()) допустим, но фактически компилятор заменяет его на вызов через класс.⚠️ Важно: статические методы нельзя переопределять (override), только скрывать (hide).
Коротко:
static = один на всех 👨👩👧👦👍6
Заметили? Степик обновил интерфейс задач на программирование…
Как Вам? Мне вообще-то больше нравился старый вариант. Но я известный ретроград 😊
А я напоминаю: распродажа Степика завершится 9 июня. А потом летний застой и повышение цен к осени ☹️. Не только у меня, а вообще.
Задумайтесь: может, стоит запастить курсам впрок?
Если что, ссылки на мои курсы тут:
• Основы языка Java
• Объектно-ориентированное программирование на Java
• Прокачай Java
• Java Core: программа курсов
• Программа: Java-разработчик [ Java + ООП + SQL + Linux + Git ]
Как Вам? Мне вообще-то больше нравился старый вариант. Но я известный ретроград 😊
А я напоминаю: распродажа Степика завершится 9 июня. А потом летний застой и повышение цен к осени ☹️. Не только у меня, а вообще.
Задумайтесь: может, стоит запастить курсам впрок?
Если что, ссылки на мои курсы тут:
• Основы языка Java
• Объектно-ориентированное программирование на Java
• Прокачай Java
• Java Core: программа курсов
• Программа: Java-разработчик [ Java + ООП + SQL + Linux + Git ]