Первая программа
В прошлом уроке мы запустили программу из трёх строк. Теперь разберём, из каких частей она состоит, и посмотрим на классическую форму записи, которая встречается в большинстве существующих проектов.
Метод main
Программа на Java начинает работу с метода main — именованного блока кода. Всё, что находится между фигурными скобками { и }, называется телом метода и выполняется по порядку, сверху вниз:
void main() {
IO.println("Начало");
IO.println("Конец");
}Результат:
Начало
КонецСлово void означает, что метод ничего не возвращает. Пустые скобки после main — место для параметров, о них поговорим в главе о методах.
Инструкции и точка с запятой
Одна команда программы называется инструкцией. В Java каждая инструкция заканчивается точкой с запятой. Внутри тела метода код принято сдвигать на четыре пробела — так видно, что он относится к main.
println и print
IO.println() выводит значение и переводит курсор на новую строку. IO.print() выводит значение без перевода строки, поэтому следующий вывод продолжит ту же строку:
void main() {
IO.print("Java ");
IO.print("25");
IO.println();
IO.println(2 + 3);
}Результат:
Java 25
5IO.println() без аргументов просто переходит на новую строку. Числа пишут без кавычек, и Java сначала вычисляет выражение 2 + 3, а потом выводит результат.
Комментарии
Комментарий — пояснение для человека, компилятор его пропускает. Однострочный начинается с //, многострочный заключают между /* и */:
void main() {
// Однострочный комментарий
/* Многострочный
комментарий */
IO.println("Комментарии не выводятся");
}Результат:
Комментарии не выводятсяКлассическая форма
До Java 25 программу обязательно оборачивали в класс — контейнер для кода, о котором подробно расскажет глава об ООП. Такую запись вы увидите в книгах, на собеседованиях и в больших проектах:
public class Main {
public static void main(String[] args) {
System.out.println("Привет, мир!");
}
}Результат:
Привет, мир!Имя файла должно совпадать с именем класса: Main.java. System.out.println() делает то же, что IO.println(). Обе формы правильные и запускаются одной командой java Main.java. В курсе мы пользуемся короткой: в ней меньше слов, которые пока нечем объяснить.
Частая ошибка
Если забыть точку с запятой, программа не скомпилируется:
void main() {
IO.println("Привет")
}Результат:
Main.java:2: error: ';' expected
IO.println("Привет")
^
1 error
error: compilation failedСтрелка ^ показывает место, где компилятор ожидал точку с запятой.