Шаг 3. Подробное рассмотрение программы FirstProgram

Хотя программа созданнная нами в предыдущей статье (проект FirstProgram) небольшая, с ней связано несколько важных особенностей, характерных для всех программ на языке Java. Полный текст программы представлен на листинге ниже.

 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package firstprogram;

/**
 *
 * @author Андрей
 */
public class FirstProgram {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Привет, мир!");        
    }
}

Рассмотрим каждую часть программы подробно.

 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

Данная часть кода — комментарий. Подобно большинству других языков программирования, Java позволяет включать примечания в исходный текст программы. Они нужны для того, чтобы программисту было легче ориентироваться в текстах большого проекта, выделять логически законченные фрагменты программы, а также, для того, чтобы программу написанную одним человеком, мог понять другой программист.
Комментарии в Java бывают трёх видов. В данном случае применён комментарий заключённый между между /* и */. Как только компилятор встречает связку символов /*, он игнорирует все символы пока не встретит */. Приемущество такого коментария: он может располагаться в произвольном количестве строк. Второй тип комментария в языке программирования Java — это комментарий, начинающийся с символов // и продолжается до конца строки. Третий тип комментария — это комментарии документирования, про которые нам знать пока необязательно. Однако, они по форме похожи на комментарии первого типа, за исключением того, что в них используются связки символов /** и */. Кстати данный комментарий присутствует в нашей программе:

/**
 *
 * @author Андрей
 */

Далее по тексту программы мы видим строку:

package firstprogram;

В этой строке показывается, что данный исходный файл программы включён в пакет с названием firstprogram. Пока мы не будем задаваться вопросами о пакетах. Придет время и мы узнаем для чего они нужны, а пока нам достаточно знать, что в начале каждого исходного файла как правило указывается его принадлежность к пакету.
Итак, мы дошли до самого интересного. Следующая строка кода имеет такой вид.

public class FirstProgram {

В этой строке ключевое слово class используется для объявления о том, что выполняется определение нового класса. Модификатор доступа public показывает, что определяемый класс будет доступен для любого кода: как классов этого же проекта, так и любых других. В частности, поскольку этот класс главный, то при запуске программы среда исполнения Java получит доступ к этому классу. FirstProgram — это идентификатор, являющийся именем класса. Поскольку наша программа имеет всего один класс, то его имя, как легко заметить, совпадает с именем проекта и главное файла FirstProgram.java. Далее по тексту программы мы видим открывающую фигурную скобку «{«. Она является началом тела класса. Всё, что находится до закрывающей скобки «}» является телом класса. Мы рассмотрим классы, объекты и объектно-ориентированный подход позже, но сейчас нам достаточно знать, что классы обычно содержат поля и методы. Поля задают типы данных, которые содержит класс, а методы (функции-члены в других языках программирования) — представляют собой фрагменты управляющих конструкций, которые позволяют выполнять какие-либо действия.
Следующие строки выглядят так.

        public static void main(String[] args) {
        // TODO code application logic here
        System.out.println("Привет, мир!");        
    }

Они представляют собой метод main. Модификатор доступа public показывает, что определяемый метод будет доступен для любого кода. Модификатор static показывает, что метод является статическим, то есть доступным для исполнения даже в классе, объекты которого не созданны. Позже мы уясним, что работа с классом осуществляется путем создания конкретных реализаций этого класса — объектов или экземпляров класса. Однако, в нашей простейшей программе, мы не создаем объекты класса FirstProgram. Мы используем лишь его единственный статический метод, в котором выполняются все действия программы.
Все переменные и/или поля классов обязательно имеют типы данных. Целочисленные типы, логические и т.д. Так же и методы, являясь по сути функциями имеют тип возвращаемого значения. Если метод не возвращает никакого значения, применяется ключевое слово «void«.
В скобках после имени метода () мы видим список параметров, которые может принять метод от вызывающего его объекта. В нашем случае, метод main будет вызываться средой исполнения Java. В качестве параметров он может принимать аргументы командной строки, разделённые пробелом, для чего указан массив типа String (Строковый тип данных) и именем args. В данной программе, да и в большинстве других, мы не будем использовать аргументы командной строки, однако форма есть форма. Далее между открывающей и закрывающей фигурными скобками располагается тело метода.

        System.out.println("Привет, мир!");       

Наша программа состоит из одной единственной строки. Эта строка выводит на экран строку текста «Привет, мир!«, за которой следует новая строка. В действительности вывод выполняется встроенным методом println(). Как будет показано, этот метод можно применять для отображения и других типов информации. Строка начинается с идентификатора потока System.out. Хотя он слишком сложный, чтобы его можно было подробно пояснить на данном этапе, достаточно пока сказать, что System — это предопределенный класс, который предрставляет доступ к системе, а его переменная-член out — выходной поток, связанный с консолью.

Как легко догадаться, в реальных программах на Java консольный ввод-вывод используется редко, но при изучении основных принципов языка, мы будем первое время писать программы консольного типа. В следующих статьях мы оснановимся подробно на основных элементах языка, таких как типы данных, операторы и т.д.

Продолжение: Шаг 4. Пример работы с классами и объектами
Начало: Шаг 2. Первый пример простейшей программы

Комментарии для сайта Cackle