Автопроигрывание
Автозавершение
К ПРЕДЫДУЩЕЙ ЛЕКЦИИ
ОК! ИДЕМ ДАЛЬШЕ!
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) Вопросы-ответы
Сертификат об окончании (и бонусная лекция)
(NEW) Подсказка по Домашнее задание 4.2 "таблица умножения": как дебажить
Содержание лекции пока не доступно
Если вы уже зачислены на курс,
то вам нужно просто войти
.
Открыть страницу с курсом для регистрации