Базовый синтаксис

Тема дорожной карты · Java

Основы синтаксиса Java охватывают фундаментальные грамматические правила, которым должна следовать каждая программа на JDK: объявления классов и методов, объявления переменных с примитивными типами Java (int, boolean, double) или ссылочными типами, операторы, выражения и конструкции управления потоком выполнения, которые Java-компилятор транслирует в JVM-байткод. Каждый файл с исходным кодом Java должен содержать ровно один публичный класс, совпадающий с именем файла; код организован в пространства имён package, импортируемые с помощью операторов import; точка входа каждой программы — метод public static void main(String[] args), соглашение, соблюдаемое лаунчером JVM. Основы синтаксиса Java включают арифметические, реляционные, логические, побитовые и операторы присваивания (+, ==, &&, |, +=), управление потоком с помощью if-else, switch (классический и современный switch-выражения со стрелочными ветвями -> из Java 14+), циклы for, while, do-while и расширенный цикл for-each для Iterable и массивов. Вывод типов через var (Java 10+) уменьшает многословность объявлений локальных переменных — var list = new ArrayList<String>() — сохраняя статическую типизацию, проверяемую Java-компилятором и JVM при загрузке. Прочное владение основами синтаксиса Java является предварительным условием для всех продвинутых тем: объектно-ориентированного программирования, Generics, Lambda-выражений, Stream API и каждого фреймворка — от Spring до Hibernate.

Как это работает

Базовый синтаксис покрывает классы (единица компиляции), примитивные типы (int, long, double, boolean — не объекты), reference-типы (объекты, массивы, String — на heap), управление (if/else, switch — теперь со стрелочной формой и pattern matching в 21+), циклы (for, while, for-each), пакеты + импорты, модификаторы доступа (public/protected/package-private/private). Современная Java: var для type inference (10+), текстовые блоки """...""" (15+), records (16+), sealed classes (17+), pattern matching (21+).

Когда применять

Современные фичи — при таргете 17+: records для DTO (срезает 90% бойлерплейта), var для type-inference локальной переменной (когда RHS очевиден), текстовые блоки для multi-line строк, sealed-типы для закрытых иерархий. var — не для полей и возвратов методов (теряется читаемость). Optional — осторожно; никогда .get() без проверки; используйте .orElse(), .map(), .ifPresent().

Типичные ошибки

Ловушки Базовый синтаксис: сравнение строк == вместо .equals() (классика); примитивные массивы там, где коллекции лучше; игнор Optional и возврат null (NPE-чума продолжается); String s = ""; for(...) s += x; (квадратично — используйте StringBuilder). Читайте Java-туториал для вашей версии; старые туториалы отстают.

Связанные понятия

Полезные ресурсы