О курсе

Базовый Java
≈ 2 мин чтения

Что организован курс

Java — это не только синтаксис языка. В реальной разработке рядом с ним всегда есть виртуальная машина, стандартная библиотека, инструменты сборки, тесты, работа с базами данных и другие части экосистемы. Поэтому курс идёт дальше переменных и циклов и постепенно показывает всю картину целиком. На Java курсе разобрано свыше 50 теоретических тем и предоставлено свыше 250 практических заданий.

Для того, чтобы вы как можно лучше понимали и запоминали теорию, мы наполнили наш курс большим количеством ярких и запоминающихся иллюстраций.

Чтобы вы практиковали и закрепляли ваши практические навыки, мы сделали различные виды заданий:

  • Тест с выбором варианта ответа;
  • Дописать фрагмент кода;
  • Расставить шаги в правильном порядке;
  • Соеденить термины с определением;
  • Вписать прямой ответ;
  • Выделить ошибочную строку;
  • Полноценное написание кода

Доказано, что разные форматы практики помогают лучше закреплять материал и тренировать разные способы мышления. Этим же принципом мы решили воспользоваться и в нашем курсе.

Маршрут курса

Чтобы темы не выглядели набором несвязанных глав, курс собран в три больших слоя:

  • Фундамент. Основы Java, ООП, исключения, коллекции, Generics, Stream API и lambda-выражения. Это то, без чего трудно уверенно читать и писать Java-код.
  • Как Java работает внутри. IO и NIO, дата и время, аннотации, рефлексия, многопоточность, Java Memory Model и устройство JVM.
  • Работа над приложением. JDBC, JPA, тестирование, Maven и Gradle, а также паттерны проектирования. Здесь отдельные знания начинают складываться в привычный рабочий стек.

Темы идут от более простых к более зависимым от предыдущих знаний. Если где-то стало тяжело, это не сигнал «я не понимаю Java» — чаще всего стоит вернуться на одну-две темы назад и проверить фундамент.

Как мы разбираем код

Примеры кода мы держим небольшими: один фрагмент — одна идея. Так проще увидеть механику, а не потеряться в десятках строк вокруг неё.

public class Main {

    public static void main(String[] args) {
        int completedTopics = 3;

        if (completedTopics > 0) {
            System.out.println(completedTopics);
        }
    }
}

Здесь достаточно заметить две вещи: условие проверяет, что значение больше нуля, а System.out.println() выводит его в консоль. Позже те же конструкции будут встречаться внутри более реалистичных примеров.

Главная цель — понимать причинно-следственную связь. Не просто «так пишут», а что делает конструкция, зачем она нужна и что изменится, если написать иначе.