Бесплатный открытый урок: ставим JDK, пишем первую программу на Java, компилируем её и запускаем из командной строки. Все примеры проверены на JDK 21 — вывод в уроке совпадает с тем, что вы увидите у себя.
Что нужно установить
Для написания программ нужен JDK — комплект разработчика. Его часто путают с JRE: JRE умеет только запускать готовые программы, а компилятор javac входит именно в JDK. Ставьте версию с длительной поддержкой — Eclipse Temurin 21 LTS подойдёт для всех уроков раздела.
После установки откройте терминал (в Windows — «Командная строка» или PowerShell) и проверьте, что система видит Java:
java -version
javac -version
Обе команды должны напечатать номер версии, начинающийся с 21. Если javac не найден, установлен JRE вместо JDK либо каталог bin не попал в переменную PATH.
Первая программа
Создайте файл Privet.java. Имя файла обязано совпадать с именем публичного класса внутри — это правило языка, а не привычка: файл с классом Privet не может называться иначе.
public class Privet {
public static void main(String[] args) {
System.out.println("Привет, Java!");
}
}
Программа печатает одну строку:
Привет, Java!
Как скомпилировать и запустить
Перейдите в терминале в каталог с файлом и выполните две команды:
javac Privet.java
java Privet
javacпереводит исходный текст в байт-код и кладёт рядом файлPrivet.class.javaзапускает виртуальную машину, которая исполняет этот байт-код. Обратите внимание: запускается классPrivet, а не файл, поэтому расширение здесь не пишут.
Начиная с Java 11 одиночный файл можно запустить одной командой, без отдельной компиляции — удобно, пока программа состоит из одного класса:
java Privet.java
Разбор программы по строкам
public class Privet— объявление класса. В Java любой код живёт внутри класса.public static void main(String[] args)— точка входа. Виртуальная машина ищет метод именно с такой подписью; ошибка в одном слове — и программа не запустится.String[] args— аргументы командной строки. Пока они не нужны, но параметр обязателен.System.out.println(...)— печать строки и перевод на новую строку.
println, print и печать нескольких значений
println завершает строку переводом, print — нет. Значения можно склеивать оператором +: если одна из частей — строка, остальные приводятся к тексту автоматически.
public class Vyvod {
public static void main(String[] args) {
System.out.print("Java");
System.out.print(" ");
System.out.println(21);
System.out.println("Год: " + 2026);
System.out.println("2 + 3 = " + (2 + 3));
System.out.println("2 + 3 = " + 2 + 3);
}
}
Java 21
Год: 2026
2 + 3 = 5
2 + 3 = 23
Последняя строка — не опечатка. Слева направо: сначала строка складывается с числом 2 и получается текст 2 + 3 = 2, к нему приклеивается 3. Скобки в предыдущей строке заставляют сначала выполнить сложение чисел. Эту ловушку стоит запомнить сразу.
Как читать ошибки компилятора
Компилятор проверяет типы до запуска программы. Такой код не соберётся никогда:
int year = "2026";
System.out.println(year);
javac сообщит incompatible types: String cannot be converted to int и укажет номер строки. Сообщения компилятора выводятся по-английски в любой сборке JDK 21 — это нормально. Читайте их с первой ошибки: следующие часто оказываются её последствиями.
Вторая частая ошибка новичка — несовпадение имени файла и класса. Если сохранить класс Privet в файл Hello.java, компилятор ответит:
Hello.java:1: error: class Privet is public, should be declared in a file named Privet.java
Задание для самопроверки
- Напечатайте своё имя и год тремя разными способами: одним
println, двумяprintи склейкой через+. - Сделайте так, чтобы программа напечатала
10 + 5 = 15, а затем10 + 5 = 105. - Уберите слово
staticиз объявленияmain, запустите программу и прочитайте сообщение об ошибке. Верните обратно.
Что дальше
Следующий урок — переменные и типы данных в Java. Полный список бесплатных занятий собран в разделе «Уроки Java», а систематическая программа с проверкой домашних работ — на странице курсов.