Hello World на Java
«Hello, World!» — традиционная первая программа при изучении любого языка. В Java она показывает сразу несколько фундаментальных вещей: классы, метод main, статические вызовы и поток стандартного вывода System.out.
В отличие от Python или JavaScript, в Java нельзя просто написать строку и запустить файл — любой код должен находиться внутри класса. Программа состоит из двух шагов: сначала исходник .java компилируется в байт-код .class, а затем виртуальная машина JVM выполняет этот байт-код.
Эта статья проведёт вас от пустого файла до запущенной программы и покажет типичные ошибки начинающих.
Зачем это нужно
Освоить минимальный «скелет» Java-программы, который вы будете повторять во всех последующих примерах.
Понять цепочку «исходник → компиляция → запуск», без которой не работает ни один проект на Java.
Научиться выводить результат в консоль — это самый простой способ отладки до того, как вы освоите отладчик IDE.
Пример 1. Минимальная программа
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Сохраните файл как HelloWorld.java (имя файла должно совпадать с именем публичного класса). Скомпилируйте и запустите:
$ javac HelloWorld.java
$ java HelloWorld
Hello, World!
Разбор:
public class HelloWorld— объявление класса с публичной видимостью.public static void main(String[] args)— точка входа. JVM ищет именно такую сигнатуру.System.out.println(...)— печатает строку и переводит каретку.
Пример 2. Несколько строк вывода
public class HelloLines {
public static void main(String[] args) {
System.out.println("Привет, AlashEd!");
System.out.println("Это моя первая программа на Java.");
System.out.println("Сегодня я научусь писать классы.");
}
}
Вывод:
Привет, AlashEd!
Это моя первая программа на Java.
Сегодня я научусь писать классы.
Пример 3. print vs println
public class PrintVsPrintln {
public static void main(String[] args) {
System.out.print("Arduino");
System.out.print(" ");
System.out.print("Uno");
System.out.println();
System.out.println("ESP32");
System.out.println("Robot Phobo");
}
}
Вывод:
Arduino Uno
ESP32
Robot Phobo
print не переводит строку, println — переводит. Пустой println() нужен, чтобы закрыть текущую строку.
Пример 4. Использование printf
public class HelloPrintf {
public static void main(String[] args) {
String board = "Arduino Uno";
int pin = 13;
System.out.printf("Плата: %s, светодиод на пине %d%n", board, pin);
}
}
Вывод:
Плата: Arduino Uno, светодиод на пине 13
%s — строка, %d — целое число, %n — перевод строки (платформонезависимый).
Пример 5. Чтение аргументов командной строки
public class HelloArgs {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("Привет, гость!");
} else {
System.out.println("Привет, " + args[0] + "!");
}
}
}
Запуск и вывод:
$ java HelloArgs
Привет, гость!
$ java HelloArgs Aiten
Привет, Aiten!
Массив args содержит строки, переданные после имени класса.
Пример 6. Несколько классов в одном файле
public class HelloMulti {
public static void main(String[] args) {
Greeter g = new Greeter();
g.sayHello("AlashEd");
}
}
class Greeter {
void sayHello(String name) {
System.out.println("Hello, " + name + "!");
}
}
Вывод:
Hello, AlashEd!
В одном файле может быть только один public class, и его имя обязано совпадать с именем файла.
Пример 7. Конкатенация строк
public class HelloConcat {
public static void main(String[] args) {
String name = "Aiten";
int age = 21;
System.out.println("Меня зовут " + name + ", мне " + age + " лет.");
}
}
Вывод:
Меня зовут Aiten, мне 21 лет.
Оператор + для строк выполняет конкатенацию; числа автоматически приводятся к строке.
Подводные камни
Предупреждение
Имя файла: для
public class HelloWorldфайл должен называться ровноHelloWorld.java— с учётом регистра.Точки с запятой: каждая инструкция заканчивается
;. Их отсутствие — самая частая ошибка новичков.System.out.println vs Println: Java чувствительна к регистру.
PrintlnилиPRINTLNне сработают.Нет main → программа не запустится: ошибка
Main method not found. Сигнатура должна быть точноpublic static void main(String[] args).javac не найден: убедитесь, что установлен JDK (не JRE) и переменная
PATHсодержитbinJDK.
Совет
В современных IDE (IntelliJ IDEA, Eclipse, VS Code с расширением Java) компиляция и запуск выполняются одной кнопкой. Но понимать javac / java нужно — на сервере или в CI вы будете работать именно с ними.
См. также
Комментарии в Java — комментарии в Java
Переменные и литералы — переменные и литералы
Типы данных в Java — типы данных
Операторы в Java — операторы
Примечание
Лицензия и источники
Техническое описание адаптировано из официальной документации Oracle Java Tutorials (https://docs.oracle.com/javase/tutorial/), Oracle Free Documentation License. Перевод на русский, примеры и пояснения — © AlashEd Wiki.