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.
Сегодня я научусь писать классы.

Пример 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 содержит bin JDK.

Совет

В современных IDE (IntelliJ IDEA, Eclipse, VS Code с расширением Java) компиляция и запуск выполняются одной кнопкой. Но понимать javac / java нужно — на сервере или в CI вы будете работать именно с ними.

См. также

Примечание

Лицензия и источники

Техническое описание адаптировано из официальной документации Oracle Java Tutorials (https://docs.oracle.com/javase/tutorial/), Oracle Free Documentation License. Перевод на русский, примеры и пояснения — © AlashEd Wiki.