- Объяснение метода Java main()
- 2. Общая подпись
- 3. Различные способы написания метода main()
- Lesson: A Closer Look at the «Hello World!» Application
- Source Code Comments
- The HelloWorldApp Class Definition
- The main Method
- Основы программирования на Java
- Выполнение программы. Метод main
- Комментарии
- Main в java что это
Объяснение метода Java main()
Каждой программе нужно место для начала ее выполнения; говоря о программах Java, это основной метод.
Мы настолько привыкли писать основной метод во время сеансов кода, что даже не обращаем внимания на его детали. В этой быстрой статье мы проанализируем этот метод и покажем некоторые другие способы его написания.
2. Общая подпись
Наиболее распространенный шаблон основного метода:
public static void main(String[] args) >
Вот как мы это выучили, так IDE автоматически дополняет код для нас. Но это не единственная форма, которую может принять этот метод, есть несколько допустимых вариантов, которые мы можем использовать, и не каждый разработчик обращает на это внимание.
Прежде чем мы углубимся в эти сигнатуры методов, давайте рассмотрим значение каждого ключевого слова общей сигнатуры:
- public — модификатор доступа, означающий глобальную видимость
- статический — к методу можно получить доступ прямо из класса, нам не нужно создавать экземпляр объекта, чтобы иметь ссылку и использовать его
- void – означает, что этот метод не возвращает значение
- main — имя метода, это идентификатор, который JVM ищет при выполнении Java-программы.
Что касается параметра args , он представляет значения, полученные методом. Вот как мы передаем аргументы программе при первом ее запуске.
Параметр args представляет собой массив String s. В следующем примере:
java CommonMainMethodSignature foo bar
мы выполняем Java-программу под названием CommonMainMethodSignature и передаем 2 аргумента: foo и bar . Доступ к этим значениям можно получить внутри основного метода как args[0] (со значением foo ) и args[1] (со значением bar ).
В следующем примере мы проверяем аргументы, чтобы решить, следует ли загружать тестовые или рабочие параметры:
public static void main(String[] args) if (args.length > 0) if (args[0].equals("test")) // load test parameters > else if (args[0].equals("production")) // load production parameters > > >
Всегда полезно помнить, что IDE также могут передавать аргументы программе.
3. Различные способы написания метода main()
Давайте проверим несколько различных способов написания основного метода. Хотя они не очень распространены, они являются действительными подписями.
Обратите внимание, что ни один из них не относится к основному методу, их можно использовать с любым методом Java, но они также являются допустимой частью основного метода.
Квадратные скобки можно поставить рядом со строкой , как в общем шаблоне, или рядом с аргументами с обеих сторон:
public static void main(String []args) >
Lesson: A Closer Look at the «Hello World!» Application
Now that you’ve seen the «Hello World!» application (and perhaps even compiled and run it), you might be wondering how it works. Here again is its code:
The «Hello World!» application consists of three primary components: source code comments, the HelloWorldApp class definition, and the main method. The following explanation will provide you with a basic understanding of the code, but the deeper implications will only become apparent after you’ve finished reading the rest of the tutorial.
Source Code Comments
/** * The HelloWorldApp class implements an application that * simply prints "Hello World!" to standard output. */ class HelloWorldApp < public static void main(String[] args) < System.out.println("Hello World!"); // Display the string. > >
Comments are ignored by the compiler but are useful to other programmers. The Java programming language supports three kinds of comments:
/* text */ The compiler ignores everything from /* to */ . /** documentation */ This indicates a documentation comment (doc comment, for short). The compiler ignores this kind of comment, just like it ignores comments that use /* and */ . The javadoc tool uses doc comments when preparing automatically generated documentation. For more information on javadoc , see the Javadoc™ tool documentation . // text The compiler ignores everything from // to the end of the line.
The HelloWorldApp Class Definition
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp public static void main(String[] args) < System.out.println("Hello World!"); // Display the string. >>
As shown above, the most basic form of a class definition is:
The keyword class begins the class definition for a class named name , and the code for each class appears between the opening and closing curly braces marked in bold above. Chapter 2 provides an overview of classes in general, and Chapter 4 discusses classes in detail. For now it is enough to know that every application begins with a class definition.
The main Method
/** * The HelloWorldApp class implements an application that * simply displays "Hello World!" to the standard output. */ class HelloWorldApp < public static void main(String[] args) System.out.println("Hello World!"); //Display the string. > >
In the Java programming language, every application must contain a main method whose signature is:
public static void main(String[] args)
The modifiers public and static can be written in either order ( public static or static public ), but the convention is to use public static as shown above. You can name the argument anything you want, but most programmers choose «args» or «argv».
The main method is similar to the main function in C and C++; it’s the entry point for your application and will subsequently invoke all the other methods required by your program.
The main method accepts a single argument: an array of elements of type String .
public static void main(String[] args)
This array is the mechanism through which the runtime system passes information to your application. For example:
Each string in the array is called a command-line argument. Command-line arguments let users affect the operation of the application without recompiling it. For example, a sorting program might allow the user to specify that the data be sorted in descending order with this command-line argument:
The «Hello World!» application ignores its command-line arguments, but you should be aware of the fact that such arguments do exist.
System.out.println("Hello World!");
uses the System class from the core library to print the «Hello World!» message to standard output. Portions of this library (also known as the «Application Programming Interface», or «API») will be discussed throughout the remainder of the tutorial.
Основы программирования на Java
Основным строительным блоком программы на языке Java являются инструкции (statement). Каждая инструкция выполняет некоторое действие, например, вызовы методов, объявление переменных и присвоение им значений. После завершения инструкции в Java ставится точка с запятой (;). Данный знак указывает компилятору на конец инструкции. Например:
System.out.println("Hello Java!");
Данная строка представляет вызов метода System.out.println , который выводит на консоль строку «Hello Java!». В данном случае вызов метода является инструкцией и поэтому завершается точкой с запятой.
Кроме отдельных инструкций распространенной конструкцией является блок кода. Блок кода содержит набор инструкций, он заключается в фигурные скобки, а инструкции помещаются между открывающей и закрывающей фигурными скобками:
В этом блоке кода две инструкции, которые выводят на консоль определенную строку.
Выполнение программы. Метод main
Java является объектно-ориентированным языком, поэтому всю программу можно представить как набор взаимодействующих между собой классов и объектов. В первой главе при создании первого приложения программа была определена следующим образом:
То есть основу нашей программы составляет класс Program. При определении класса вначале идет модификатор доступа public , который указывает, что данный класс будет доступен всем, то есть мы сможем его запустить из командной строки. Далее идет ключевое слово class , а затем название класса. После названия класса идет блок кода, в котором расположено содержимое класса.
Входной точкой в программу на языке Java является метод main , который определен в классе Program. Именно с него начинается выполнение программы. Он обязательно должен присутствовать в программе. При этом его заголовок может быть только таким:
public static void main (String args[])
При запуске приложения виртуальная машина Java ищет в главном классе программы метод main с подобным заголовком, и после его обнаружения запускает его.
Вначале заголовка метода идет модификатор public , который указывает, что метод будет доступен извне. Слово static указывает, что метод main — статический, а слово void — что он не возвращает никакого значения. Далее в скобках у нас идут параметры метода — String args[] — это массив args, который хранит значения типа String, то есть строки. При запуске программы через этот массив мы можем передать в программу различные данные.
После заголовка метода идет его блок, который содержит набор выполняемых инструкций.
Комментарии
Код программы может содержать комментарии. Комментарии позволяют понять смысл программы, что делают те или иные ее части. При компиляции комментарии игнорируются и не оказывают никакого влияния на работу приложения и на его размер.
В Java есть два типа комментариев: однострочный и многострочный. Однострочный комментарий размещается на одной строке после двойного слеша //. А многострочный комментарий заключается между символами /* текст комментария */ . Он может размещаться на нескольких строках. Например:
/* многострочный комментарий Объявление нового класса, который содержит код программы */ public class Program < // начало объявления класса Program // определение метода main public static void main (String args[])< // объявление нового метода System.out.println("Hello Java!"); // вывод строки на консоль >// конец объявления нового метода > // конец объявления класса Program
Main в java что это
Она означает, что в строке 1 файла MyApp.java объявляется публичный класс с именем MyFirstApp, а значит и находиться он должен в файле с таким же именем.
2) Теперь нарушим еще одно правило, написав имя класса и файла с маленькой буквы, назвав их myFirstApp. Запустив программу, видим, что отобразилось сообщение Write once, run anywhere.
Можно сделать вывод, что писать имя файла и класса с большой буквы является лишь договоренностью всех программистов друг с другом. Это сделано для того, чтобы в коде не путать имена переменных (начинаются с маленькой буквы. О них мы поговорим в другой статье) с именами классов.
3) Попробуем изменить имя метода main, например, на Main. Запустив программу, увидим следующую ошибку:
JVM не смогла запустить программу т. к. не нашла метод main (с маленькой буквы). О чем и свидетельствует ошибка Error: main method not found.
4) Вернем методу его первоначальное имя, но удалим слова public static и снова запустим. Возникнет та же самая ошибка, что и в предыдущем пункте, связанная с тем, что при запуске программы не был найден метод main, записанный по всем правилам.
Самостоятельно попробуйте удалять разные части программы и смотреть, какие при этом будут возникать ошибки.