Первая программа на Java
Наконец-то мы пишем код! В этом уроке вы создадите первую Java-программу, разберёте каждую строчку по отдельности и научитесь компилировать и запускать её.
📁 Создание проекта в IntelliJ IDEA
Давайте создадим наш первый Java-проект. Откройте IntelliJ IDEA и выполните следующие шаги:
- Нажмите "New Project" (или File → New → Project)
- Слева выберите "Java"
- Убедитесь, что JDK выбран (Java 21)
- В поле "Name" введите FirstProgram
- В поле "Location" выберите удобную папку (например, ~/JavaProjects)
- Нажмите "Create"
IntelliJ создаст структуру проекта с папкой src — именно сюда мы будем складывать наши файлы с кодом. В папке src уже может быть файл Main.java — удалите его, мы создадим свой.
Теперь создайте новый Java-класс:
- Нажмите правой кнопкой на папку
src - Выберите New → Java Class
- Введите имя: HelloWorld (без расширения .java)
- Нажмите Enter
IntelliJ создаст файл HelloWorld.java и автоматически откроет его. Теперь впишите туда наш код:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
💡 Совет: IntelliJ сам добавит закрывающие фигурные скобки. Но не полагайтесь на это — привыкайте печатать их вручную. Это важно для формирования мышечной памяти.
🔍 Разбираем каждую строку
Давайте разберём нашу программу по строчкам. Каждое слово здесь имеет значение.
Строка 1: public class HelloWorld
public — модификатор доступа. Означает, что этот класс доступен отовсюду. Подробно о модификаторах мы поговорим в Module 7, пока просто запомните: каждая Java-программа начинается с public класса.
class — ключевое слово, которое говорит Java: "я создаю класс". Класс — это основа любой Java-программы. Без класса Java не запустится. Подробно разберём классы в Module 7.
HelloWorld — имя класса. По правилам именования классов в Java: первая буква заглавная, далее CamelCase. Имя файла должно совпадать с именем класса! Файл HelloWorld.java содержит класс HelloWorld.
public class HelloWorld { // начало класса
// ... содержимое класса
} // конец класса
⚠️ Частая ошибка: Имя файла должно точно совпадать с именем класса, включая регистр! Файл helloworld.java НЕ будет работать с классом HelloWorld.
Строка 2: public static void main(String[] args)
Это самая загадочная строка для новичка. Давайте разберём каждое слово:
public— метод доступен отовсюду (JVM должен его найти)static— метод принадлежит классу, а не объекту. Пока не задумывайтесь об этом — подробно разберём в Module 7void— метод ничего не возвращает. Он просто выполняет действияmain— имя метода. Это ТОЧКА ВХОДА в программу. Java всегда начинает выполнение с метода mainString[] args— массив строк, содержащий аргументы командной строки. Подробно разберём в Module 5
Аналогия: представьте здание. Метод main — это входная дверь. Когда JVM запускает вашу программу, она ищет именно эту дверь и входит через неё. Без main программа просто не запустится.
public static void main(String[] args) {
// весь ваш код здесь
}
Фигурные скобки { } обозначают границы метода. Всё, что внутри этих скобок — это то, что выполнится при запуске программы.
💡 Аналогия: main — это как кнопка "Пуск" на микроволновке. Вы нажимаете "Пуск" (main) — и микроволновка начинает работать. Без нажатия кнопки ничего не происходит.
Строка 3: System.out.println("Hello, World!");
Это команда «вывести текст на экран». Давайте разберём:
System— системный класс Java (предоставляет доступ к системным ресурсам)out— объект, отвечающий за стандартный вывод (консоль)println— метод, который печатает строку и добавляет перенос строки после неё"Hello, World!"— строковый литерал (текст в кавычках);— точка с запятой завершает каждую инструкцию в Java
Есть ещё System.out.print() — без переноса строки. Разница:
System.out.print("Привет");
System.out.print("Мир");
// Вывод: ПриветМир
System.out.println("Привет");
System.out.println("Мир");
// Вывод:
// Привет
// Мир
Фигурные скобки и точки с запятой
{ } (фигурные скобки) обозначают блоки кода. У нас два блока: класс и метод:
public class HelloWorld { // начало блока класса
public static void main(String[] args) { // начало блока метода
System.out.println("Hello, World!"); // команда
} // конец блока метода
} // конец блока класса
; (точка с запятой) — обязательный символ в конце каждой инструкции. Забыли точку — получите ошибку компиляции. Это как точка в предложении — без неё Java не поймёт, где заканчивается команда.
▶️ Запуск программы
Есть два способа запустить нашу программу:
Способ 1: Через IntelliJ IDEA (рекомендуется)
Просто нажмите зелёный треугольник рядом с методом main (или нажмите Shift+F10). IntelliJ автоматически скомпилирует и запустит программу. Внизу откроется консоль с выводом:
Hello, World!
Process finished with exit code 0
exit code 0 означает, что программа завершилась успешно. Любое другое число — ошибка.
Способ 2: Через терминал (вручную)
Этот способ полезно знать, чтобы понимать, что происходит «под капотом»:
- Откройте терминал
- Перейдите в папку с файлом HelloWorld.java
- Скомпилируйте:
javac HelloWorld.java - Запустите:
java HelloWorld
$ javac HelloWorld.java # компиляция: .java → .class
$ java HelloWorld # запуск: читает .class файл
Hello, World!
После компиляции в папке появится файл HelloWorld.class — это и есть байт-код, который выполняет JVM. Этот файл не нужно запускать через Java — его уже подготовил компилятор javac.
💡 Процесс: Java-код (.java) → Компилятор javac → Байт-код (.class) → JVM выполняет байт-код. IntelliJ делает всё это автоматически одним кликом.
❌ Что будет, если нет main?
Попробуйте удалить или переименовать метод main. Что произойдёт?
public class HelloWorld {
public static void Main(String[] args) { // Main с большой буквы!
System.out.println("Hello, World!");
}
}
Java выдаст ошибку:
错误: 主方法未找到在类 HelloWorld 中, 请定义主方法:
public static void main(String[] args)
Java чувствительна к регистру! main и Main — это разные имена. Метод должен называться именно main со строчной буквы.
Другие частые ошибки новичков:
Забыли точку с запятой
System.out.println("Hello") // ошибка!
System.out.println("Hello"); // правильно
Фигурные скобки не совпадают
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
// нет закрывающей скобки!
Имя файла не совпадает с именем класса
// Файл: Main.java
public class HelloWorld { // ошибка! имя класса должно быть Main
🏗️ Что такое class — кратко
Вы уже видели слово class в нашей программе. Что это значит? Представьте, что class — это рецепт. По рецепту можно испечь много тортов (объектов), но сам рецепт — это просто описание.
В Java всё существует в рамках классов. Каждый файл — это класс. Каждая переменная, каждый метод — часть какого-то класса. Это фундаментальный принцип Java, и мы полностью разберём его в Module 7 (ООП).
Пока просто запомните: каждая Java-программа — это класс. Каждый класс содержит метод main. Java запускает метод main — и программа работает.
public class ИмяКласса { // объявление класса
public static void main(String[] args) { // точка входа
// ваш код здесь
}
}
🖨️ Несколько строк вывода
Давайте попробуем вывести несколько строк. Используйте несколько команд println:
public class MyFirstProgram {
public static void main(String[] args) {
System.out.println("Привет, мир!");
System.out.println("Меня зовут Программист");
System.out.println("Я учу Java");
}
}
Вывод:
Привет, мир!
Меня зовут Программист
Я учу Java
Каждая команда println выводит свою строку и переносит курсор на новую строку. Порядок команд важен — они выполняются сверху вниз.
Можно также выводить числа:
System.out.println(42);
System.out.println(3.14);
System.out.println(true);
Вывод:
42
3.14
true
Заметьте: числа и логические значения пишутся БЕЗ кавычек. Кавычки используются только для строк (текста).
💡 Эксперимент: Попробуйте вывести на экран своё имя, возраст и город. Используйте три команды println. Запустите и проверьте результат!
🔗 Склейка строк (конкатенация)
Оператор + в Java используется не только для сложения чисел, но и для склейки строк:
public class ConcatDemo {
public static void main(String[] args) {
System.out.println("Привет" + ", мир!");
System.out.println("Мне " + 25 + " лет");
System.out.println("2 + 2 = " + (2 + 2));
}
}
Вывод:
Привет, мир!
Мне 25 лет
2 + 2 = 4
В третьем примере обратите внимание на скобки (2 + 2). Без скобок Java сначала склеит строки, а потом попытается сложить — результат будет другим. Со скобками 2 + 2 вычисляется первым (= 4), а потом результат добавляется к строке.
💡 Важно: Когда оператор + встречает строку, он превращается в конкатенацию. "2 + 2 = " + 2 + 2 даст "2 + 2 = 22", потому что Java читает слева направо: сначала склеивает "2 + 2 = " и 2, потом результат и 2.
✅ Итоги урока
- Каждая Java-программа — это класс с методом main
- Метод main — точка входа в программу, именно с него Java начинает выполнение
System.out.println()— вывод текста на экран с переносом строки- Каждая инструкция заканчивается точкой с запятой
; - Фигурные скобки
{ }обозначают блоки кода (класс, метод) - Файл
.java→ компиляцияjavac→ байт-код.class→ JVM выполняет - Оператор
+склеивает строки и складывает числа - Java чувствительна к регистру:
main≠Main
Отлично! Теперь вы знаете, как работает Java-программа. Следующий урок: Переменные и константы →
Тест: Первые шаги
7 вопросов