Автопроигрывание
Автозавершение
К ПРЕДЫДУЩЕЙ ЛЕКЦИИ
ОК! ИДЕМ ДАЛЬШЕ!
Java 0
Занятие 1: Установка и настройка
(NEW) Лог изменений курса в 2019
🚩Что нужно знать перед началом курса!
Компиляция, интерпретация и байт-код Java (5:01)
Из чего состоит Java? JVM, JRE, JDK (1:09)
Версии и редакции Java: Java SE, Java EE (2:16)
Установка JDK и среды разработки Intellij IDEA, настройка IDEA (3:12)
Cкачать Java (OpenJDK, OracleJDK, Java8, Java 11)
JVM-based языки и популярные фреймворки (1:27)
Знакомство с интерфейсом IDEA (4:50)
Приложение: Первое приложение HelloJava в профессиональной среде разработки IntelliJ IDEA (10:58)
Создаем несколько классов в нашей программе (5:31)
Пошаговое выполнение программы в IDEA (3:53)
Основы оформления кода (2:29)
Домашнее задание 1.1 "установка/настройка"
(NEW) Вопросы-ответы
(NEW) Как допускать меньше ошибок в коде? (самая важная лекция)
(NEW) Редкая ошибка в Intellij Idea "failed to create a child event loop"
Занятие 2: Типы данных в Java, тонкости использования
Обзор пройденного материала (3:07)
Куча, Стек и перегрузка методов (4:04)
Как сдать простое ДЗ из IntelliJ IDEA (0:49)
(NEW) Как сдать простое ДЗ из IntelliJ IDEA UPDATE. Анонимные gist больше не поддерживаются в github
Домашнее задание 2.1 "перегрузка метода" (простое, необязательное)
Рекурсия в Java (2:02)
Домашнее задание 2.2 "рекурсия" (простое, необязательное)
(NEW) Пройдите квест по рекурсии на Khasang.Quests (обязательное задание)
Что такое Стек? (4:22)
Зарезервированные слова в Java
Что такое область памяти "Куча"? (2:19)
(NEW) Так все же в массиве хранятся объекты или примитивные типы данных?
Выделение памяти в Java (2:14)
Работаем с классами-обертками (1:01)
Домашнее задание 2.3 "классы-обертки" (простое, необязательное)
Код занятия
(NEW) Еще об особенностях символов Character в Java
(NEW) Еще про классы-обертки
*(NEW) Boxing и unboxing
(NEW) Ответ к задаче
(NEW) Внимание, неожиданное поведение при делении
(NEW) Когда требуется инициализация переменных в Java?
(NEW) Преобразование типов в Java
(NEW) Порядок операций при преобразовании типов в Java
(NEW) Вопросы-ответы
(NEW) Константы в Java, что это и зачем?
Занятие 3: Управляющие конструкции в Java и методы
Обзор дальнейших шагов (4:38)
Условные выражения в Java: if-else (9:36)
(NEW) Союзы в условных выражениях
Конструкции: switch (8:10)
While и три других типа циклов в Java (3:29)
Цикл do-while (1:47)
Цикл for (4:06)
(NEW) Тип данных boolean
(NEW) Тернарный оператор (2:53)
(NEW) Преинкремент и постинкремент
Занятие 4: Углубляемся в циклы + массивы в Java
Вложенные циклы (1:04)
(NEW) Как быстро понять вложенные циклы
Форматированный вывод: printf() (2:42)
(NEW) Расширенные параметры printf()
Возвращение значений из метода (10:04)
Возвращение значений из метода: еще один пример (3:19)
Как на самом деле происходит возвращение значений: понятие "Стек" в программировании (3:59)
Домашнее задание 4.1 "body mass index (BMI)" (обязательное)
(NEW) Вопросы-ответы: как по шагам написать метод для вычисления значения
(NEW) Как не потерять данные в методе?
Домашнее задание 4.2 "таблица умножения" (простое, обязательное)
(NEW) Подсказка по Домашнее задание 4.2 "таблица умножения" (что если не получается вывести в столбик)
(NEW) Подсказка по Домашнее задание 4.2 "таблица умножения": как дебажить (5:21)
Одномерные массивы в Java (6:33)
Инициализация массива (0:33)
(NEW) Синтаксический сахар при инициализации массива
Углубляемся в массивы (0:56)
Что такое null и NullPointerException (1:44)
Новые фишки по работе с циклами и массивами в IDEA (1:41)
Реализация многомерных массивов в Java (4:28)
(NEW) Как сделать паузу в игре?
Домашнее задание 4.3 "крестики/нолики" (обязательное)
(NEW) Подсказка по ДЗ крестики/нолики: если непонятно с чего начать и как проектировать приложение
(NEW) Подсказка по ДЗ крестики/нолики, как реализовать проверку "занята ли клетка"
(NEW) Подсказка по ДЗ крестики/нолики, как реализовать зацикливание
(NEW) Как повысить надежность кода в Java? Обращаем внимание на взаимозависимые методы (2:06)
(NEW) Создание копии или клонирование массива в Java
Занятие 5: Процедурное программирование в Java
Класс Scanner (10:18)
Вводим данные от пользователя в цикле (7:32)
(NEW) Особенности работы класса Scanner со строками и числами (3:19)
(NEW) Дополнительные команды (могут помочь при работе с ДЗ)
(NEW) Для продвинутого уровня: локали и Scanner
Упражнение 1 для самостоятельной работы
(NEW) Упражнение 1 – ответ
Упражнение 2 для самостоятельной работы
(NEW) Упражнение 2 – ответ
Упражнение 3 (+ Блэкджек) для самостоятельной работы
(NEW) Упражнение 3 - ответ
Упражнение 4 для самостоятельной работы
(NEW) Упражнение 4 – ответ (первый вариант)
(NEW) Упражнение 4 – ответ (второй вариант)
(NEW) Упражнение 4: вопросы-ответы
Упражнение 5 для самостоятельной работы
(NEW) Упражнение 5 – ответ
Упражнение 6 для самостоятельной работы
(NEW) Упражнение 6 – ответ
Упражнение 7 для самостоятельной работы
(NEW) Упражнение 7 – ответ
Пишем приложение: Плоский морской бой в процедурном стиле (9:26)
(NEW) Как перемещать блоки кода в IDEA с помощью клавиатуры?
(NEW) Как в IntelliJ IDEA с помощью клавиатуры обрамить блок кода в цикл?
Пакеты в Java (6:19)
(NEW) Пакеты в Java (стандарт оформления)
(NEW) Как правильно сообщать об ошибке и задавать вопросы (7:10)
Домашнее задание 5.1 "Линейный морской бой" (обязательное)
(NEW) К ДЗ 5.1: Как правильно проверить границы, не выйдя за пределы массива
(NEW) Вопросы-ответы
Занятие 6: Объектно-ориентированное программирование в Java
(NEW) Вопрос-ответ: что делать, если много раз пробовал, но не получается?
Сначала напишем "плохой пример", без ООП (6:04)
Создаем новый тип данных: КОШКА! (2:23)
Создаем экземпляр класса! (7:02)
Что такое конструктор (4:00)
Об исчезающем конструкторе (0:57)
Подведем итоги по первому шагу в ООП (1:33)
Переписываем морской бой в объектно-ориентированном стиле: первый шаг (1:02)
Второй шаг в ООП-проектировании: выделяем характеристики и методы (11:23)
Третий шаг в ООП-проектировании: создаем экземпляры классов (1:04)
Четвертый шаг в ООП-проектировании: настройка и связывание классов друг с другом (3:07)
ООП-проектирование: итоги (1:45)
(NEW) Сортировка массива методом пузырька (7:54)
(NEW) Код занятия
(NEW) Сортировка массива объектов вручную (3:18)
(NEW) Как хранятся объекты в массиве в Java (Детальней про кучу и стек)
(NEW) Цикл foreach в Java (3:20)
(NEW) Код занятия
(NEW) Упражнение 1 для самостоятельной работы
(NEW) Упражнение 1 – ответ
Домашнее задание 6.1 "Скачки" (обязательное)
(NEW) Подсказка по ДЗ Скачки (разбор типичной ошибки)
(NEW) Антипаттерн "Беременная лошадь" – как правильно распределить обязанности между классами в Java
(NEW) Как упростить код, уменьшив кол-во точек при доступе к полям/методам в Java
(NEW) Антипаттерн "Неожиданные геттеры/сеттеры", Антипаттерн "Открытый капот", Антипаттерн "Передача кошки по частям"
(NEW) Типичные ошибки при выделении классов из предметной области (9:06)
(NEW) Два подхода по упрощению кода (временные переменные и инкапсуляция) (5:24)
(NEW) Вопросы-ответы
Занятие 7: Статические переменные, строки и коллекции в Java
Статические переменные: правила и принципы использования (13:50)
Обращение к статическим переменным (2:35)
Статические методы в Java (6:46)
Вложенная иерархия классов (2:35)
Реализация уникального идентификатора через static (1:51)
Домашнее задание 7.1 "Повторяем static" (обязательное)
Домашнее задание 7.1.1 "Связываем классы между собой" (обязательное)
Коллекция ArrayList в Java (8:21)
Роль дженериков в коллекциях (4:29)
(NEW) Как отобразить содержимое коллекции ArrayList в консоли
(NEW) Мини-паттерн "Колода карт" (или "Форт Боярд")
Домашнее задание 7.2 "Применяем ArrayList" и мини-паттерн "Форт Боярд" (обязательное)
Домашнее задание 7.3 "Менеджер книг" (обязательное)
(NEW) Подсказка по ДЗ менеджер книг (разбор стандартной ошибки)
Как правильно сравнивать строки в Java (6:51)
Тонкости сравнения строк в Java (5:05)
Переопределение equals для сравнения своих объектов (8:32)
(NEW) Как сравнивать элементы массива, типизированного по классу-обертке
(NEW) Вопросы-ответы по работе в IntelliJ IDEA
(NEW) Вопросы-ответы
Занятие 8: Тонкости ООП в Java
Инкапсуляция в Java (8:30)
Наследование в Java (5:34)
Добавляем методы в классы потомков (1:33)
Тонкости работы с конструкторами при наследовании и что такое super (5:14)
Вызов конструктора предка (1:54)
Аннотация @Override и еще раз о переопределении и перегрузке методов (4:46)
(NEW) Анти-паттерн Public Morozoff: или как не нужно использовать модификаторы
Введение в полиморфизм (1:58)
Основы полиморфизма в ООП (3:56)
Кастинг, восходящее и нисходящее преобразование (2:30)
Определяем класс с помощью instance of (0:33)
Полиморфизм и коллекции (3:48)
(NEW) Вопросы-ответы про полиморфизм
Переопределяем toString(); (2:20)
Домашнее задание 8.1
Домашнее задание 8.2 "Полиморфный менеджер вещей" (обязательное)
(NEW) Удаление из коллекции в цикле
(NEW) Вопросы-ответы
Сертификат об окончании (и бонусная лекция)
Домашнее задание 7.1.1 "Связываем классы между собой" (обязательное)
Содержание лекции пока не доступно
Если вы уже зачислены на курс,
то вам нужно просто войти
.
Открыть страницу с курсом для регистрации