1. Команды

Программа — это набор (список) команд. Сначала выполняется первая команда, затем вторая, третья, и так далее. Когда все команды выполнены, программа завершается.

Какие именно команды могут быть в списке зависит от того, кто их выполняет: какие команды знает (и понимает) исполнитель. Собаке можно дать команду «Сидеть», «Голос», кошке — «Брысь», человеку — «Стой! Стрелять буду!», ну а роботу — «Работай! Работай, твою робомать».

Программы, написанные на языке Java, исполняет JVM (Java Virtual Machine — виртуальная машина Java). JVM — это специальная программа, которая умеет исполнять программы, написанные на языке Java.

Список ее команд довольно обширен.
Например, этой командой можно вывести на экран надпись Робот — друг человека:

System.out.println("Робот — друг человека");
Самая простая команда

Но мы начнем не с команд, а с пары простых принципов. Знание нескольких принципов заменяет знание многих фактов.

Принцип первый: в языке программирования Java каждую команду принято писать с новой строки. В конце команды ставится точка с запятой.

Допустим, мы хотим 3 раза вывести на экран надпись Робот — друг человека. Вот как будет выглядеть код программы:

System.out.println("Робот — друг человека");
System.out.println("Робот — друг человека");
System.out.println("Робот — друг человека");
Программа из трех команд

Принцип второй: программа не может просто состоять из команд. Команды языка Java должны находиться внутри функций, а функции — внутри классов.

Представьте себе диван. Диван не может быть сам по себе — он находится в какой-то комнате. Комната тоже не может существовать сама по себе — она находится в каком-то доме. Или же можно сказать, что дом делится на комнаты, а комнаты содержат вещи.

Так вот, команды — это мебель. В языке программирования Java команда не может быть сама по себе: она — часть функции (функции в Java еще называют методами). А метод (функция) — это часть класса. Иными словами, класс делится на методы, а методы содержат команды.

Java-программы состоят из классов, классы содержат методы, а методы — команды.


2. Структура типичной программы

Программы на языке Java состоят из классов. Классов может быть десятки тысяч. Минимальная программа — один класс. Для каждого класса заводится отдельный файл, имя которого совпадает с именем класса.

Допустим, вы решили создать класс, который будет описывать дом (дом по-английски — House). Тогда вам нужно создать класс House, который будет содержаться в файле House.java.

Если же вы решили описать в программе, например, кота (Cat — кот, по-английски), тогда вам нужно создать файл Cat.java и в нем описать класс Cat и т.д.

Внутри файлов содержится текст – код на языке программирования Java. Обычно код класса состоит из имени класса и тела класса. Тело класса помещается в фигурные скобки. Вот как может выглядеть класс House:

public class House
{
    Тело класса
}
файл House.java

Тело класса может содержать переменные (их еще называют данными класса) и методы (функции класса). Выглядит это примерно так:

public class House
{
    Переменная А

    Переменная Z

    Метод 1

    Метод N
}
файл House.java

Ну или вот конкретный пример:

public class House {

   
int a; int b;
public static void main (String[] args) { System.out.print(1); }
public static double pi () { return 3.14; }
}
файл House.java

В примере выше a и b — это переменные, а main и pi — это методы.


3. Метод main()

Классы могут содержать переменные и методы, но не обязаны. Могут быть классы без переменных или без методов. И даже без методов и переменных одновременно. Хотя толку от таких классов немного.

Минимальная программа должна состоять минимум из одного класса, который должен содержать минимум один метод (функцию), с которого начинается выполнение программы. Такой метод должен иметь имя main.
Минимальная программа выглядит вот так:

public class House
{
   public static void main (String[] args)
   {
   }
}
Минимальная программа

Обратите внимание, что метод main в примере выше не содержит команд. Именно так: минимальная программа не содержит ни одной команды. На то она и минимальная.

У класса, с которого начинается программа, может быть любое имя, но у метода main, с которого начинает выполняться программа, всегда один и тот же вид:

public class House
{
    public static void main (String[] args)
    {
        Код метода
    }
}
Красным подчеркнута неизменяемая часть: объявление метода main