Самоучитель по Java: основы, синтаксис и первая программа
Быстрый гайд по одному из самых популярных языков в индустрии.
Это статья для начинающих разработчиков, которые планируют самостоятельно изучать Java с нуля и стать востребованными специалистами. Мы познакомим вас с базой: разберём, как устроен язык программирования, поможем настроить всё необходимое для работы и вместе напишем первую программу. Так что давайте поскорее приступать и практиковаться.
Содержание
- Что такое язык Java и для чего он нужен
- Как работает Java: JVM, байт-код и компиляция
- Настройка рабочего окружения: JDK и IntelliJ IDEA
- Основы синтаксиса и структура программы на Java
- Ключевые элементы и конструкции в Java
- Пишем первую программу на Java
- Что дальше изучать начинающему Java‑разработчику
Что такое язык Java и для чего он нужен
Java — это объектно-ориентированный язык программирования. Если вы впервые слышите этот термин — не пугайтесь. «Объектно-ориентированный» означает всего лишь то, что программы на Java строятся из отдельных блоков-объектов, каждый из которых отвечает за свою часть работы — примерно как отделы в большой компании. Такой подход делает код понятным, удобным для командной работы и лёгким в поддержке.
Ещё одна важная особенность Java — принцип WORA, или «Написано однажды, работает везде». Это значит, что код, написанный, например, на ноутбуке с Windows, без изменений запустится и на MacBook, и на сервере с Linux.
Благодаря такой универсальности Java используется повсюду: на ней пишут серверную часть веб‑приложений, программы для бытовой техники и умных устройств, а также большую часть мобильных приложений для Android.
Впервые язык появился в 1995 году и с тех пор стабильно держится в верхних строчках различных рейтингов популярности. Например, по данным индекса TIOBE на май 2026 года Java занимает третье место среди самых востребованных языков программирования в мире — после Python и C.

Вот самые распространённые направления, где работают Java-разработчики:
- Бэкенд и enterprise. Крупные банки, страховые компании, маркетплейсы — многие из них держат свои серверные системы на Java. Пожалуй, это самое массовое направление с точки зрения вакансий.
- Android-разработка. Исторически так сложилось, что Java — основной язык для нативных Android-приложений. Сегодня его постепенно вытесняет Kotlin, но Java-код в экосистеме Android никуда не делся.
- Финтех и банки. Системы обработки платежей, торговые платформы, процессинг транзакций — во всех этих сложных процедурах Java занимает особое место благодаря надёжности и зрелости экосистемы.
- Big Data. Многие инструменты для обработки больших данных построены вокруг Java или инструментов его экосистемы. Именно поэтому язык часто используют для разработки и поддержки data‑платформ, а также для высоконагруженной обработки данных.
Учитывая всё перечисленное, мы считаем Java одним из самых надёжных вариантов для старта карьеры: язык стабилен, нужен большинству крупных компаний, а накопленная база знаний и инструментов у него просто огромна.

Читайте также:
Как работает Java: JVM, байт-код и компиляция
Java работает немного иначе, чем большинство языков программирования. Чтобы понять её главную фишку — принцип «написано однажды, работает везде», — нужно чуть разобраться в том, как компьютеры понимают команды.
Процессор компьютера — это железка, которая не понимает английских слов или математических формул. Он считывает только машинный код — длинные последовательности нулей и единиц. При этом разработчики пишут программы на человекопонятных языках, используя слова вроде print, if или while. И чтобы компьютер понял такой текст, нужна программа-переводчик.
Есть два типа таких программ: компиляторы и интерпретаторы. Соответственно, и все языки программирования можно условно разделить на две группы — компилируемые и интерпретируемые.
В компилируемых языках специальная программа берёт весь код и разом переводит его в машинный язык. В результате получается исполняемый файл — например, EXE для Windows. В интерпретируемых языках предварительного перевода нет: программа‑интерпретатор читает код прямо во время работы приложения, строчка за строчкой, и на лету переводит его для процессора.
Однако создатели Java решили объединить оба подхода, поэтому превращение кода в работающую программу здесь происходит в два этапа:
- Компиляция в байт‑код. Исходный код Java компилируется не в машинный код под конкретную операционную систему, а в промежуточный универсальный формат — байт‑код.
- Запуск через JVM. Байт‑код нельзя запустить напрямую. Для этого на компьютере должна быть установлена JVM: она берёт универсальный байт‑код и быстро «объясняет» его конкретному процессору.
Благодаря JVM разработчику не нужно думать, на какой операционной системе запустят приложение: код пишется один раз, а виртуальная машина сама адаптирует его под Windows, Linux или macOS на устройстве пользователя.
Отсюда вытекают три аббревиатуры, которые вы будете постоянно встречать в статьях и документации по Java. Давайте их проговорим и расшифруем:
- JVM (Java Virtual Machine) — виртуальная машина, которая выполняет байт‑код. У нас есть подробная статья о JVM — рекомендуем прочитать.
- JRE (Java Runtime Environment) — среда выполнения. Она содержит JVM и базовые библиотеки, необходимые для запуска готовых программ.
- JDK (Java Development Kit) — полный набор разработчика. Включает JRE, компилятор и другие инструменты для написания программ.
Для написания кода нам понадобится JDK, а ещё — удобный редактор, в котором мы будем набирать этот код. Как всё это установить, расскажем дальше. Но если вам не хочется тратить время на установку, этот шаг можно пропустить и самостоятельно запускать программы прямо в браузере — например, через бесплатные онлайн‑сервисы OnlineGDB и JDoodle.
Настройка рабочего окружения: JDK и IntelliJ IDEA
Прежде чем писать код, нужно подготовить компьютер. Нам предстоит сделать три шага: установить JDK, при необходимости прописать системные переменные — чтобы Windows знала, где искать Java, — и затем установить редактор кода.
Устанавливаем JDK
Есть много версий JDK от разных компаний. Разработчикам из РФ отлично подойдут Amazon Corretto или BellSoft Liberica JDK: они бесплатны и обычно скачиваются без VPN. Выбирайте версию с пометкой LTS, например Java 21 или 25: это стабильные релизы, которые будут поддерживаться ещё долгие годы.

Скриншот: Skillbox Media
Скачайте установщик и пройдите все шаги как у обычной программы. Путь установки можно оставить по умолчанию — обычно это C:\Program Files\Java\…

Скриншот: Skillbox Media
После установки стоит проверить, всё ли прошло успешно. Для этого откройте командную строку (Win + R → введите cmd → OK) и выполните команду:
java -version
Если в ответ появилась строка с номером версии — всё в порядке, можно пропустить следующий шаг и сразу переходить к установке редактора кода.

Скриншот: Skillbox Media
Если система ответила: «„java“ не является внутренней или внешней командой», не пугайтесь: это быстро решается настройкой системной переменной.

Скриншот: Skillbox Media
Прописываем системные переменные
Нам нужно объяснить Windows, где именно находится установленный JDK. Для этого достаточно настроить две системные переменные — JAVA_HOME и Path.
Шаг 1. Откройте программу «Изменение системных переменных среды».

Шаг 2. В нижнем блоке Системные переменные нажмите кнопку Создать. После этого в поле Имя переменной введите JAVA_HOME, а в поле Значение — путь к папке, куда вы установили JDK.

Шаг 3. Найдите в списке переменную Path, выделите её и нажмите Изменить. Добавьте новую строку %JAVA_HOME%\bin, нажмите OK и сохраните изменения. Сразу после этого попробуйте снова ввести в командной строке java -version — на этот раз система должна обнаружить JDK.

Устанавливаем редактор кода
Писать код в обычном «Блокноте» — плохая идея: текст будет одного цвета, а о пропущенной скобке вы узнаете только при запуске программы. Поэтому разработчики используют IDE — это такие умные редакторы, которые подсвечивают ошибки, дописывают команды и помогают запускать код.
Есть много разных редакторов, но для работы с Java многие разработчики предпочитают IntelliJ IDEA. Для новичков подойдёт бесплатная версия Community Edition. Вам нужно скачать установщик и обязательно отметить пункт Add «bin» folder to the PATH. После установки перезагрузите компьютер.

Скриншот: Skillbox Media
После перезагрузки откройте программу и нажмите New Project.

Скриншот: Skillbox Media
Дайте имя проекту, остальные настройки оставьте как есть и нажмите Create.

Скриншот: Skillbox Media
Когда загрузятся все компоненты, вы окажетесь в рабочем пространстве — код нужно писать в окне справа. Удалите часть автоматически созданного кода, чтобы рабочее пространство выглядело как на скриншоте. Обратите внимание на треугольную кнопку вверху: с её помощью мы будем запускать программы.

Скриншот: Skillbox Media

Читайте также:
Основы синтаксиса и структура программы на Java
Синтаксис — это грамматика языка программирования. Прежде чем писать первый код, важно усвоить четыре правила, на которых держится вся Java. Именно с ними чаще всего сталкивается начинающий Java-разработчик в первые дни практики — и их нарушение обычно приводит к ошибкам.
Чувствительность к регистру. Слова MyVar и myvar — для Java две разные вещи. Поэтому внимательно следите за регистром при написании любых имён.
Точка с запятой. Каждая самостоятельная инструкция должна заканчиваться символом «;». Если случайно пропустите его, то получите ошибку при запуске.
Фигурные скобки. Блоки кода группируются в фигурные скобки {}. Здесь просто знайте, что каждую открывающую скобку должна закрывать парная.
Комментарии. Двойной слеш // превращает остаток строки в комментарий — пояснение для разработчиков, которое компилятор при запуске игнорирует.
public class Main { // Фигурная скобка открывает блок класса
int a = 5; // Точка с запятой говорит о завершении инструкции
} // Фигурная скобка закрывает блок классаПрограмма в Java напоминает матрёшку, поскольку вся работа происходит внутри классов — именованных блоков кода, которые объединяют связанные инструкции. Однако чтобы компилятор понял, с какого места начинать выполнение, в главном классе должен быть особый блок — метод main.
Метод — это именованный фрагмент кода, который выполняет конкретную задачу. Например, один метод может считать сумму чисел, другой — проверять пароль, третий — выводить сообщение на экран. Методов в программе может быть много, но main особенный: его Java в первую очередь ищет при запуске и именно с него начинает выполнять команды — строго по очереди, сверху вниз.
public class HelloWorld {
// Метод main — точка старта программы
public static void main(String[] args) {
// Команда для вывода текста на экран
System.out.println("Привет, Skillbox!");
}
}Ключевые элементы и конструкции в Java
Теперь разберёмся, из каких строительных блоков состоит почти каждая программа на Java. Пройдёмся по переменным, операторам, условным конструкциям и циклам.
Переменные и типы данных
Когда программе нужно что-то запомнить — возраст пользователя, цену товара или результат вычисления, — она использует переменные. Представьте переменную как коробку с именем, написанным маркером. Имя придумывает разработчик — главное, чтобы оно отражало смысл того, что хранится внутри.
Java — строгий язык, поэтому прежде чем положить данные в коробку, вам нужно заранее указать, какого типа они будут. Например, в коробку для чисел нельзя положить текст, а в переменную для текста — число без преобразования: то есть строка «25» и число 25 для Java не одно и то же.
int age = 25; // Коробка int — только для целых чисел
double price = 99.9; // double — для чисел с плавающей точкой
String name = "Ivan"; // String — для текста (пишем в кавычках)
boolean isHappy = true; // boolean — для логики: true (да) или false (нет)Операторы
Просто хранить данные мало — с ними нужно что-то делать. Для этого в Java есть операторы — специальные символы, которые задают действия над переменными. С их помощью вы можете выполнять математические вычисления (+, -, *, /), сравнивать значения (>, <, ==) и «склеивать» строки.
int a = 10;
int b = 5;
int sum = a + b; // 15
boolean check = (a > b); // true
String full = "Hi, " + "my name is " + "Eminem"; // "Hi, my name is Eminem"
Читайте также:
Условные конструкции
Программы редко работают по одному прямому сценарию: почти всегда их поведение определяют условия. Например, в коде ниже программа проверяет температуру: если temp больше 20, она выводит «На улице тепло», а если нет — «На улице холодно». Конструкция if/else работает как железнодорожная стрелка: задаёт вопрос и в зависимости от ответа направляет выполнение кода.
int temp = 25;
if (temp > 20) {
// Если условие верно (true) — выполнится этот блок
System.out.println("На улице тепло");
} else {
// Если условие ложно (false) — этот
System.out.println("На улице холодно");
}
Читайте также:
Циклы
Представьте, что вам нужно вывести на экран сто приветствий: писать сто раз System.out.println() — сомнительное удовольствие. Поэтому для таких повторяющихся действий в Java придумали циклы. Они берут нужный блок кода и выполняют его снова и снова, пока не выполнится условие остановки.
Самый распространённый — цикл for. Его удобно использовать, когда вы заранее знаете, сколько раз нужно повторить действие. Кроме него в Java есть циклы while и do-while — они пригодятся, когда число повторений заранее неизвестно, но это уже более сложная тема, к которой можно вернуться позже.
// Цикл for: (счётчик; условие остановки; шаг после каждого круга)
for (int i = 0; i < 5; i++) {
System.out.println("Счётчик: " + i);
}
// Программа пять раз выведет слово «Счётчик:» и добавит цифру от 0 до 4
Читайте также:
Пишем первую программу на Java
Давайте попробуем объединить всё изученное и напишем простую интерактивную программу. Она будет здороваться, просить ввести год рождения, вычислять ваш возраст и выдавать персонализированный ответ. Для считывания ввода с клавиатуры воспользуемся встроенным инструментом Java — классом Scanner.
Чтобы всё корректно сработало, код должен находиться в файле AgeCalculator.java. В IntelliJ IDEA для этого нужно создать новый класс через File → New → Java Class. Если вы используете онлайн‑редакторы, то ничего создавать не нужно — вставьте код в окно редактора и запустите программу.
// Импортируем инструмент Scanner из стандартной библиотеки Java
import java.util.Scanner;
public class AgeCalculator {
public static void main(String[] args) {
// Создаём объект Scanner для чтения ввода с клавиатуры
Scanner scanner = new Scanner(System.in);
System.out.println("Привет! Это умный калькулятор возраста.");
System.out.println("В каком году вы родились?");
// Программа останавливается и ждёт, пока вы введёте число
int birthYear = scanner.nextInt();
// Текущий год
int currentYear = 2026;
// Вычисляем возраст
int age = currentYear - birthYear;
System.out.println("По нашим подсчётам, вам примерно " + age + " лет.");
// Условная конструкция для персонализированного ответа
if (age >= 18) {
System.out.println("Вы уже взрослый! Можете купить энергетик.");
} else {
System.out.println("Вы ещё юны. Время пить лимонад и учить Java!");
}
// Хороший тон — закрывать Scanner после использования
scanner.close();
}
}Запустите код, введите год своего рождения и нажмите Enter. Если всё сработало — поздравляем, вы только что написали первую программу на Java!

Скриншот: JDoodle / Skillbox Media
Что дальше изучать начинающему Java‑разработчику
После первой программы мы рекомендуем углубиться в темы, которые часто встречаются в реальных задачах. Вот статьи, которые вам пригодятся:
- «Массивы в Java: создаём, заполняем, применяем».
- «Классы и объекты в Java».
- «Абстрактные классы в Java и их отличия от интерфейсов: кратко и без воды».
- «Дженерики в Java для самых маленьких: синтаксис, границы и дикие карты».
- «Исключения в Java. Часть 1. Разбираемся, что такое исключения, зачем они нужны и как с ними работать».
- «Готовимся к собеседованию: что нужно знать о коллекциях в Java».
- «Что такое объекты и классы: 1‑я часть гайда по ООП».
- «Фреймворк Spring: зачем он нужен, как устроен и как работает».
Параллельно с чтением статей советуем зарегистрироваться на сайте Codewars — это бесплатный сервис, где вы сможете самостоятельно закрепить синтаксис и научиться уверенно писать код. Чтобы был прогресс, начните с простого уровня (8-7 kyu) и решайте задачи регулярно — например, по 10–20 минут в день. Удобно двигаться по темам: сегодня строки, завтра массивы и так далее. Также полезно заглядывать в раздел Best Practices: изучайте код других разработчиков и отмечайте для себя удачные решения.
И главное помните: на первых этапах нормально ошибаться. Если программа не запускается, проверьте частые причины: возможно, пропущена точка с запятой в конце строки, есть путаница в регистре, строки сравниваются через == вместо equals() или не совпадают имя файла и имя публичного класса. Вы быстро научитесь читать сообщения об ошибках и видеть, что и где сломалось.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

