Программа Java — это последовательность инструкций, которые выполняются в определенном порядке. Поскольку инструкции выполняются в определенном порядке, Java-программа имеет начало и конец.
Для выполнения вашей программы вам необходимо указать виртуальной машине, с чего начать выполнение программы. Все инструкции(код) должны находиться внутри класса. Класс — это способ группировки данных и инструкций, которые принадлежат друг другу. Таким образом, класс может содержать как переменные, так и методы. Переменная может содержать данные, а метод группирует набор операций над данными(инструкции). Не так страшно, если вы еще не до конца поняли это. Начнем разбираться.
Простое объявление класса Java
Объявление простого класса без каких-либо переменных, методов или любых других инструкций выглядит следующим образом:
public class MyClass {
}
Этот код Java должен находиться в файле с тем же именем, что и у класса, и заканчиваться суффиксом файла .java. В частности, имя файла должно быть MyClass.java. Как только файл находится в файле, соответствующем его имени класса и оканчивающемся на .java, вы можете скомпилировать его с помощью компилятора из Java SDK или изнутри вашей Java IDE(что гораздо проще).
Рекомендуется размещать свой класс в пакете Java. Пакет Java — это просто каталог в вашей файловой системе, который может содержать один или несколько файлов. Пакеты могут быть вложенными, как каталоги.
Например, вы можете создать пакет с именем myjavacode, который будет соответствовать каталогу на вашем жестком диске с именем myjavacode.
Если вы находите класс внутри пакета, вы должны указать имя пакета в верхней части файла. Вот как выглядит класс с добавлением объявления пакета:
package myjavacode;
public class MyClass {
}
Примечание. Файл MyClass.java должен теперь находиться в каталоге myjavacode и содержать объявление пакета package myjavacode; Недостаточно, чтобы файл находился в правильном каталоге. Также недостаточно просто иметь объявление пакета внутри файла. Оба требования должны быть выполнены.
main() метод
Java-программа начинается с выполнения метода main некоторого класса. Вы можете выбрать имя класса для выполнения, но не имя метода. Метод всегда должен называться main. Вот как выглядит объявление основного метода, когда он находится внутри объявления класса:
package myjavacode;
public class MyClass {
public static void main(String[] args) {
}
}
Три ключевых слова public, static и void имеют особое значение. Просто помните, что для объявления метода main() нужны эти три ключевых слова.
После трех ключевых слов у вас есть имя метода. Напомним, что метод — это набор инструкций, которые могут быть выполнены, как если бы они были одной операцией. Вызывая(выполняя) метод, вы выполняете все инструкции внутри этого метода.
После имени метода сначала ставится левая скобка, а затем список параметров. Параметры — это переменные(данные / значения), которые мы можем передать методу, который может использоваться инструкциями в методе для настройки его поведения. Основной метод всегда должен принимать массив объектов String. Вы объявляете массив объектов String следующим образом:
String[] stringArray
Расскажу о том, что такое String или что такое массив в следующих уроках. Не имеет значения, какое имя вы даете параметру. Ранее в примере с методом main() я вызывал параметр аргумента массива String, а во втором — строковый массив. Вы можете выбрать имя любое.
После списка параметров метода следует сначала левая фигурная скобка({), затем некоторое пустое пространство, а затем правая фигурная скобка(}). Внутри фигурных скобок инструкции, которые должны выполняться при выполнении основного метода. В приведенном выше примере нет никаких инструкций для выполнения. Метод пуст.
Давайте вставим одну инструкцию в основное тело метода. Вот пример:
package myjavacode;
public class MyClass {
public static void main(String[] args) {
System.out.println("Hello World, Java Program");
}
}
Теперь основной метод содержит эту единственную инструкцию:
System.out.println("Hello World, Java Program");
Эта инструкция выведет текст Hello World, Java Program. Если вы запустите свою программу из командной строки, вы увидите вывод в консоли командной строки. Если вы запускаете из IDE, IDE обычно перехватывает весь вывод на консоль и делает его видимым для вас где-то внутри IDE.
Запуск метода main()
Когда вы запускаете программу, вы обычно делаете это через командную строку(консоль). Вы вызываете команду, которая поставляется вместе с JRE, и указываете, какой класс выполнять и какие аргументы передавать методу main(). Затем Java-приложение выполняется внутри JVM. Вот диаграмма, иллюстрирующая это:

Вот пример командной строки:
java -cp classes myjavacode.MyClass
- Первая часть этой команды запускает JVM. В некоторых случаях вам может потребоваться указать полный путь к папке, в которой находится команда на вашем компьютере(обычно внутри подкаталога bin каталога установки Java).
- Второй и третий аргументы(классы -cp) сообщают JVM, в каком каталоге находятся скомпилированные классы. В этом случае скомпилированные классы расположены в каталоге с именем classes.
- Четвертый аргумент — это имя класса Java, который должна выполнить JVM. Обратите внимание, что имя класса также содержит имя пакета, в котором находится класс(«полное имя класса»).
Передача аргументов
Вы можете передавать аргументы из командной строки в метод main().
java -cp classes myjavacode.MyClass Hello World
Когда JVM выполняет метод main() myjavacode.MyClass, массив String, передаваемый в качестве параметра методу main(), будет содержать две строки: «Hello» и «World».
Метод может получить доступ к аргументам из командной строки следующим образом:
package myjavacode;
public class MyClass {
public static void main(String[] args) {
System.out.println( args[0] );
System.out.println( args[1] );
}
}
Обратите внимание на ссылки на элемент 0 и элемент 1 в массиве args(args [0] и args [1]). args [0] будет содержать строку(текст) Hello, а args [1] будет содержать мир строки.
В вашем проекте может быть столько классов, сколько вы хотите, с методом main(). Но виртуальной машине можно поручить запускать только один из них одновременно.
