Java

Полный курс по программированию на Java. Основы языка, ООП, коллекции, обработка исключений, многопоточность, Stream API, современные возможности Java 8+. Готовые примеры программ и справочник стандартной библиотеки.

Введение

Программа Hello World
Hello World на Java
Комментарии
Комментарии в Java
Переменные и литералы
Переменные и литералы
Типы данных
Типы данных в Java
Операторы
Операторы в Java

Основы языка

Область видимости переменных
Область видимости переменных в Java
Приведение типов
Приведение типов в Java
Тернарный оператор
Тернарный оператор ?: в Java
Условный оператор if-else
Условный оператор if-else в Java
Оператор switch
Оператор switch в Java
Цикл for
Цикл for в Java
Циклы while и do-while
Циклы while и do-while в Java
Оператор break
Оператор break в Java
Enhanced for (for-each)
Enhanced for loop (for-each)

ООП

Классы и объекты
Классы и объекты в Java
Конструкторы
Конструкторы в Java
Методы
Методы в Java
Перегрузка методов
Перегрузка методов в Java
Инкапсуляция
Инкапсуляция в Java
Наследование
Наследование в Java
Полиморфизм
Полиморфизм в Java
Абстрактные классы и методы
Абстрактные классы и методы в Java

Коллекции

Интерфейс Collection
Интерфейс Collection
Интерфейс List
Интерфейс List
Интерфейс Set
Интерфейс Set
Интерфейс Map
Интерфейс Map
Интерфейс Queue
Интерфейс Queue
Iterator и Iterable
Iterator и Iterable
Массивы
Массивы
Сортировка коллекций
Сортировка коллекций

Исключения и I/O

Обработка исключений
Обработка исключений в Java
throw и throws
throw и throws
Пользовательские исключения
Пользовательские исключения
try-with-resources
try-with-resources
Базовый ввод-вывод
Базовый ввод-вывод
Работа с файлами
Работа с файлами
BufferedReader
BufferedReader

Многопоточность

Класс Thread
Класс Thread
Интерфейс Runnable
Интерфейс Runnable
Жизненный цикл потока
Жизненный цикл потока
synchronized
synchronized
wait и notify
wait и notify
ExecutorService
ExecutorService
Callable и Future
Callable и Future
Параллельные коллекции
Параллельные коллекции

Streams API и лямбды

Лямбда-выражения
Лямбда-выражения
Функциональные интерфейсы
Функциональные интерфейсы
Ссылки на методы
Ссылки на методы
Введение в Stream API
Введение в Stream API
Stream filter и map
Stream filter и map
Stream collect и Collectors
Stream collect и Collectors
Stream reduce
Stream reduce
Optional
Optional

Современный Java

Ключевое слово var
Ключевое слово var (Java 10+)
Sealed классы
Sealed классы (Java 17)
Pattern matching
Pattern matching (Java 16+)
Switch expressions
Switch expressions (Java 14)
Автобоксинг и анбоксинг
Автобоксинг и анбоксинг (Java 5+)

Дополнительно

Примеры программ

Готовые программы на Java с разбором алгоритма.

166 примеров программ на Java с решением — задачи для практики
Стандартная библиотека

Справочник классов: String, ArrayList, HashMap, StringBuilder, Date/Time и другие.

Стандартная библиотека