Первая программа на Java
Чему вы научитесь:
- писать программу из класса
Mainс методомmainи запускать её командойjava Main.java; - печатать текст через
System.out.printlnиSystem.out.printи предсказывать, где начнётся новая строка; - объяснять, что делают
javacи JVM и почему одна программа работает на любом компьютере; - читать сообщения компилятора и исправлять ошибки, которые он нашёл.
Программа — это список инструкций для компьютера. Представьте ноты для оркестра — партитуру. В ней по порядку записано, что играть, и оркестр играет такт за тактом, от первого до последнего. Компьютер выполняет программу так же: инструкцию за инструкцией, сверху вниз.
Ноты записывают особыми знаками, понятными каждому музыканту. Программу тоже пишут на особом языке — в этом курсе на Java. Вот программа, которая печатает одну строку:
public class Main {
public static void main(String[] args) {
System.out.println("Hello, Java"); // Hello, Java
}
}Давайте разберём её по строкам:
public class Main {открывает класс с именемMain— именованный блок, внутри которого лежит код. В Java любая инструкция живёт внутри какого-нибудь класса.public static void main(String[] args) {открывает методmain— именованный набор инструкций внутри класса. Эту строку пишут в каждой программе курса одинаково, слово в слово.System.out.println("Hello, Java");— единственная инструкция: напечататьHello, Java.- Первая
}закрывает методmain. - Вторая
}закрывает классMain.
Текст от // до конца строки — комментарий, и Java его пропускает. В примерах курса комментарий в конце строки показывает, что эта строка печатает.
Где начинается выполнение
При запуске Java находит в классе метод main и выполняет его тело — инструкции между фигурными скобками после main(String[] args). Это и есть партитура, которую играет компьютер:
- инструкции выполняются по очереди, сверху вниз;
- после последней инструкции программа завершается.
Скобки и точка с запятой
У текста на Java строгая форма. Её держат три правила:
- фигурные скобки
{и}идут парой: открывающая начинает блок, закрывающая заканчивает его; - пара скобок метода
mainлежит внутри пары скобок классаMain, как коробка в коробке; - каждая инструкция заканчивается точкой с запятой, как предложение — точкой.
Отступы Java не читает, но человеку они показывают, что внутри чего лежит. В курсе каждый уровень вложенности сдвинут на четыре пробела.
Печать: println и print
System.out — это вывод программы: место, где появляется напечатанный текст. Запись System.out.println(…) читается так: напечатать в вывод то, что стоит в скобках. Текст в двойных кавычках печатается как есть, без кавычек. Число можно написать и без кавычек.
У печати два варианта. Разница между ними — в переводе строки.
println — с переводом строки
System.out.println("Hello"); // Hello
System.out.println(42); // 42println печатает значение и переводит строку, поэтому следующая печать начинается с новой строки. Окончание ln помогает запомнить разницу: оно значит «перевести строку».
print — без перевода строки
System.out.print("Ja");
System.out.print("va");
System.out.println("!"); // Java!print печатает значение и остаётся в той же строке. Давайте посмотрим, что делает каждая инструкция:
print("Ja")начинает строку: в нейJa.print("va")дописываетvaвплотную. Самprintпробелов не добавляет.println("!")дописывает!и переводит строку. ПолучаетсяJava!.
В виджете эти строки стоят внутри целой программы. Нажимайте «Следующий шаг» и следите, на каком шаге заканчивается каждая строка вывода. Рядом с кодом виджет показывает метод, который выполняется сейчас: Main.main, то есть метод main класса Main. В поле «вывод» строка появляется, когда её закончит println.
1public class Main {2 public static void main(String[] args) {3 System.out.println("Hello");4 System.out.print("Ja");5 System.out.print("va");6 System.out.println("!");7 System.out.println("Bye");8 }9}
Java вызывает метод main и начинает с первой инструкции его тела.
Порядок строк в выводе всегда совпадает с порядком инструкций: Java не переставляет их и не пропускает.
Запуск программы
Чтобы запустить программу, сделайте три шага:
- Сохраните текст в файл
Main.java. Имя файла совпадает с именем класса. - Откройте терминал — окно для текстовых команд — в папке с этим файлом.
- Наберите команду
java Main.java.
Перед запуском текст проверяет компилятор — программа, которая следит за правилами Java и переводит текст в форму, пригодную для выполнения. Это строгий корректор: если нарушено хоть одно правило, он показывает ошибку, и программа не запускается.
Здесь картинка с оркестром неточна. Музыкант догадается, какая нота спряталась под кляксой, и доиграет пьесу. Компилятор не догадывается: из-за одной ошибки не выполнится ни одна строка, даже верная.
Частая ошибка
Забыли закрывающую скобку класса:
public class Main {
public static void main(String[] args) {
System.out.println("Hello, Java");
} // ✗error: reached end of file while parsingКомпилятор дочитал файл до конца и не нашёл пары для { из первой строки: класс Main так и остался открытым. Допишите } последней строкой. Чтобы видеть пары, ставьте закрывающую скобку точно под началом строки с открывающей.
Главное
- Программа на Java — класс
Mainс методомmain; выполнение начинается сmainи идёт сверху вниз. - Фигурные скобки идут парами, а каждая инструкция заканчивается точкой с запятой.
printlnпечатает значение и переводит строку, аprintостаётся в той же строке и не добавляет пробелов.java Main.javaпроверяет программу и запускает её; если компилятор нашёл ошибку, не выполняется ни одна строка.