За исключением нескольких последних глав книги, в основном будут рассма- триваться консольные программы. Памятуя о том, что лучше один раз увидеть, чем сто раз услышать, рассмотрим достаточно простую программу, выводящую на экран сообщение.
Простые программы17
Листинг 1.1.Простая программа
class Intro{
public static void main(String[] args){
System.out.println("Мы программируем на Java!");
}
}
После компиляции и запуска программы (например, в среде NetBeans) в окне вывода появляется сообщение Мы программируем на Java!. Рассмотрим программ- ный код подробнее. Приведенные далее комментарии о этому поводу предна- значены в основном для тех, кто никогда не имел дела с таким языком програм- мирования, как С++.
Во-первых, сразу отметим, что фигурными скобками в языке программирова- ния Java (как и C++ и C#) отмечаются блоки программного кода. Программный код размещается между открывающей (символ {) и закрывающей (символ }) фигурными скобками. В данном случае использовано две пары фигурных ско- бок. Первая, внешняя, пара использована для определения программного кода класса, вторая — для определения метода этого класса.
Как неоднократно отмечалось, для создания даже самой простой программы не- обходимо описать класс. Описание класса начинается с ключевого слова class. После этого следует уникальное имя класса. Непосредственно программный код класса заключается в фигурные скобки. Таким образом, синтаксической кон- струкцией class Intro{...} определяется класс с названием Intro.
Программный код класса Intro состоит всего из одного метода с названием main() (здесь и далее названия методов будут указываться с круглыми скобками после имени, чтобы отличать их от переменных). Название метода стандартное. Дело в том, что выполнение Java-программы начинается с вызова метода с именем main(). Другими словами, в методе main() представлен код, который выполня- ется в результате вызова программы. Программа содержит один и только один метод с именем main() (исключение составляют апплеты — у них метода main() нет). Метод main() иногда называют главным методом программы, поскольку во многом именно с этим методом отождествляется сама программа.
Ключевые слова public, static и void перед именем метода main() означают бук- вально следующее: public — метод доступен вне класса, static — метод статиче- ский и для его вызова нет необходимости создавать экземпляр класса (то есть объект), void — метод не возвращает результат. Уровни доступа членов класса, в том числе открытый (public) доступ, детально описываются в главе 6, посвя- щенной наследованию. Статические (static) члены класса и особенности рабо- ты с ними описываются в главе 4, посвященной созданию классов и объектов. Пояснения по поводу типа результата, возвращаемого методами (в том числе методом main()), даются в той же главе.
Инструкция String[] args в круглых скобках после имени метода main() озна- чает тип аргумента метода: формальное название аргумента args, и этот ар- гумент является текстовым массивом (тип String). Типу String посвящена
отдельная глава книги (см. главу 8). Массивы описываются в следующей главе. Желающие побольше узнать о способах передачи аргументов методам могут обратиться к главе 4, посвященной созданию классов и объектов. Квадратные скобки можно указывать после ключевого слова String или после имени ар- гумента args.
Тем, кто программирует в С++, многое из приведенного уже знакомо. Для тех, кто ничего знакомого во всем этом не увидел, резюмируем: на ближайшее время все наши программы будут иметь следующую структуру:
class имя_класса{
public static void main(String[] args){
программный_код
}
}
Название класса (параметр имя_класса) задается пользователем — это, фактиче- ски, название программы. В месте, где указан параметр программный_код, указыва- ется непосредственно выполняемый при вызове программы программный код.
В рассматриваемом примере программный код состоит всего из одной команды System.out.println("Мы программируем на Java!"). Команда заканчивается точкой с запятой — это стандарт для Java. Командой с помощью встроенного метода println() на консоль (по умолчанию консолью является экран) выводится со- общение "Мы программируем на Java!". Текст сообщения указан аргументом метода. Метод вызывается через поле-объект out объекта потока стандартного вывода System. Подробнее система ввода-вывода обсуждается во второй части книги, по- сле того как мы подробнее познакомимся с классами и объектами. Пока же сле- дует запомнить, что для вывода информации на экран в консольных приложе- ниях используется инструкция вида System.out.println(), где в круглых скобках указывается выводимый текст, числовые значения, имена переменных и т. д. — все то, что можно указывать аргументом метода println(), и каковы будут по- следствия, описано в главе 8, посвященной работе с объектами класса String и StringBuffer.
Если читатель испытывает трудности с компиляцией и запуском программы из листинга 1.1, рекомендуем ему обратиться к приложению в конце книги, посвя- щенному методам практического использования среды разработки NetBeans.