Курсы по Java для новичков
676 subscribers
66 photos
1 video
4 files
73 links
Я Оксана Еськова - преподаватель Вуза с 20-летним стажем.
Научу писать код на Java c нуля.
Курсы c автоматической проверкой задач: https://stepik.org/users/23008752
Все вопросы сюда 👉 @aksana_yaskova
Download Telegram
Какой логотип для курса про ООП на С++ лучше подойдет?
Anonymous Poll
30%
справа
70%
слева
🎉 Курс “Основы ООП на C++” — уже доступен!

Друзья, если Вам интересен не только язык Java, но и С++, то приглашаю Вас на свой новый курс "Основы ООП на С++" .

В меню: инкапсуляция, наследование и полиморфизм под соусом C++. Видео дублируется текстом, много задач - все, как мы любим...

💙 Для друзей — скидка 40% до конца декабря.
А от Вас, как всегда, жду критики "косяков" и честный отзыв!
👏103🎉1
Итоги Stepik Awards
Вчера состоялось ежегодное вручение премии Stepik Awards. 💥💥💥
Мой курс “Прокачай Java” был выдвинут в номинации “Лучший педагогический дизайн”.
К сожалению, премию я не получила… Но считаю, что уступить “Поколению Пайтон” не стыдно!😃
Приятно, что заметили среди многих прекрасных курсов… Всем Степика!
👍3911
Как у Вас с Новогодним настроением?🎄🎄🎄
Я сегодня к нему немного приблизилась: прошла Курс для тех, кто хорошо себя вел в этом году. 🎅 Это важно: остановиться посреди гонки декабря, подготовки к экзаменам/покупок подарков/нарезки оливье. Подвести итоги и сказать “спасибо” себе за все! За то, что старался учиться, смог найти мотивацию. За то, что был добр к другим и к себе. За то, что стал лучше себя прошлогоднего!⛄️
А еще хочу предложить идею, как можно порадовать близких и друзей: на Степике появились сертификаты на покупку курсов. Ну, и конечно, всегда можно купить любой курс в подарок. Ведь каждый может быть Дедом Морозом/Санта Клаусом.
🔥12👍2
Праздник к нам приходит…
Рождество – самый милый и самый семейный праздник в году… А у нас в Беларуси он отмечается дважды: 25 декабря и 7 января. А между ними – еще и Новый Год!
И я традиционно не могу Вас оставить без подарка:
🎁15% скидки от Рождества до Рождества на все курсы по Java:
Основы языка Java
Объектно-ориентированное программирование на Java
Прокачай Java
Java Core: программа курсов

С Рождеством, мои дорогие студенты! 🎄🎄🎄
🎉92👍2
C наступающим Новым годом!💥💥💥
Друзья! От всей души желаю Вам в 2026 новых полезных знаний, достижения всех своих целей, а главное – баланса между работой и просто жизнью!
Чтобы Ваша жизнь отличалась от показанной на картинке 😊
🔥22🎉4🎄3
Повышение цен :(
Друзья, я решила пересмотреть политику цен на курсы по Java:
1) Курс по основам Java сделать бесплатным;
2) А цены на два следующих курса немного повысить. Ничего личного, просто инфляция.
Но у Вас есть три дня до понедельника, чтобы купить эти курсы по старой цене и со скидкой 10%:
Основы объектно-ориентированного программирования на Java
Прокачай Java
👍5🤝5
На чём «застревают» новички при работе с массивами в Java?

1️⃣ Объявили массив — и сразу обращаются к элементам:
int[] a;
a[0] = 5;

int[] a — это только ссылка на массив, а не сам массив.
При таком объявлении память под элементы ещё не выделена, поэтому обращаться к a[0] нельзя.
Сначала нужно создать массив через new:
int[] a = new int[10];
a[0] = 5;


2️⃣ Выход за границы массива
int[] b = new int[4];
b[4] = 7;

Индексация в массивах начинается с нуля, поэтому допустимые индексы: 0, 1, 2, 3 (а b[4] не существует)

Последний элемент массива всегда имеет индекс
размер_массива - 1.

3️⃣ Ожидание копирования элементов при присваивании:
int[] a = new int[8];
int[] b = a;

Такое присваивание не копирует массив.
Копируется ссылка, и теперь a и b указывают на один и тот же массив.
Изменения через b будут видны и через a.

💡 Кстати, эти и другие тонкие моменты работы с массивами подробно разбираем в модуле 4 курса «Основы языка Java» 😊
👍17
Возвращаемся к практике тестов:
int[] a = {1, 2, 3};
int[] b = a;
b[0] = 10;
a[1] = 7;
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
👍2
Что выведет код?
Anonymous Quiz
7%
1 2 3
32%
1 7 3
60%
10 7 3
1%
10 2 3
👍2
Типичная ошибка с наследованием в Java
Что не так с этим кодом?
class Account {
String login;
String password;
}

class Student extends Account {
String name;
int age;
}

На первый взгляд — всё корректно. Но задумайтесь:
• Можно ли объект Student передать туда, где ожидается Account?
• А если у студента несколько аккаунтов?
• А если аккаунт есть не только у студентов, но и у преподавателей?
❗️ Проблема здесь не в синтаксисе, а в неверной модели наследования.
🔥6
Почему нельзя наследовать Student от Account?
Потому что между ними нет отношения is-a. Нельзя корректно сказать, что студент является аккаунтом.
Здесь другое отношение — has-a («имеет»): студент имеет аккаунт, но не является им.
В таком случае нужно использовать композицию, а не наследование:
class Account {
String login;
String password;
}

class Student {
String name;
int age;
Account account;
}
11🔥1
Свежие отзывы на курс "Объектно-ориентированное программирование на Java". Спасибо всем, кто оставляет отзыв! Для меня это очень важно 🤗
👍10
List<Integer> ints = Arrays.asList(3, 6, 8, 12, 55, 4);

Какой код позволит сформировать массив из элементов этого списка, которые меньше 10?
Anonymous Quiz
46%
Integer[] numbers = ints.stream().filter(i -> i < 10).toArray();
6%
Integer[] numbers = ints.filter(i -> i < 10).toArray(Integer[]::new);
38%
Integer[] numbers = ints.stream().filter(i -> i < 10).toArray(Integer[]::new);
10%
Integer[] numbers = ints.stream().toArray().filter(i -> i < 10);
👍2👏1
Топ-5 стандартных классов Java, которые реально используют в проектах 👇

🔹 1. ArrayList
Рабочая лошадка. Используется везде, где нужна динамическая коллекция: данные из БД, DTO, результаты вычислений. Быстро и удобно.

🔹 2. HashMap
Хранение пар «ключ–значение»: кэш, конфигурации, группировки, быстрый доступ к данным. Если не знаешь HashMap — на проекте будет боль.

🔹 3. Optional
Спасает от NullPointerException и делает код честнее. Часто используется в сервисах и репозиториях, особенно в современном Java-коде.

🔹 4. LocalDate / LocalDateTime
Работа с датами без боли: планирование, логи, бизнес-логика, дедлайны. Старый Date на проде давно не в почёте.

🔹 5. Stream
Фильтрация, маппинг, агрегация данных в одну строку. Читаемый код и меньше шаблонных циклов — за это стримы любят в командах.

📌 Вывод простой: знание стандартных классов Java реально облегчает жизнь. И это логичный следующий шаг после ООП.
9👍4🔥2
StringBuilder sb1 = new StringBuilder("Java");
StringBuilder sb2 = new StringBuilder("Java");
Какая проверка окажется true?
Anonymous Quiz
11%
if (sb1 == sb2)
57%
if (sb1.equals(sb2))
32%
if (sb1.toString().contentEquals(sb2))
👍9
String s1 = "Java";
String s2 = "Java";
String s3 = new String("Java");
String s4 = s3.intern();
System.out.println(s1 == s2);
System.out.println(s1 == s3);
System.out.println(s1 == s4);
👍7
Что будет выведено на консоль?
Anonymous Quiz
13%
true true true
26%
false false false
37%
true false true
24%
true false false
String str = "I love Java";
str.substring(2, 6);
System.out.println(str);
Что будет выведено на консоль?
Anonymous Quiz
51%
love
3%
Java
32%
I love Java
14%
Ошибка компиляции
👍7🔥2