Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Ввод кода программы. Компиляция программы




Ввод кода программы

Для большинства языков программирования имя файла, который содержит исходный код программы, не имеет значения. Однако в Java это не так. Прежде всего, следует твердо усвоить, что присваиваемое исходному файлу имя очень важно. В данном случае именем исходного файла должно быть Example. java.

В Java исходный файл официально называется модулем компиляции. Он представляет собой текстовый файл, который содержит определения одного или более классов. Компилятор Java требует, чтобы исходный файл имел расширение. java. Как видно из кода программы, именем определенного программой класса является также Example. И это не случайно. В Java весь код должен размещаться внутри класса. В соответствии с принятым соглашением имя этого класса должно совпадать с именем файла, содержащего программу. Необходимо также, чтобы употребление строчных и прописных букв имени файла соответствовало их употреблению в имени класса.

Это обусловлено тем, что Java-код чувствителен к регистру символов. Пока что соглашение о соответствии имен файлов и имен классов может казаться произвольным.

Однако оно упрощает поддержку и организацию программ.

Компиляция программы

Чтобы скомпилировать программу Example, запустите компилятор (javac), указав

имя исходного файла в командной строке:

C: \> javac Example. java

Компилятор javac создаст файл Example. class, содержащий байт-кодовую версию программы. Как мы уже отмечали, байт-код Java – это промежуточное представление программы, содержащее инструкции, которые будет выполнять виртуальная машина Java. Следовательно, результат работы компилятора javac не является непосредственно исполняемым кодом.

Чтобы действительно выполнить программу, необходимо воспользоваться программой запуска приложений Java, которая носит имя java. При этом ей потребуется передать имя класса Example в качестве аргумента командной строки, как показано в следующем примере:

C: \> java Example

При выполнении программы на экране отобразится следующий вывод:

Привет, Java!

В процессе компиляции исходного кода каждый отдельный класс помещается в собственный выходной файл, названный по имени класса и получающий расширение. class. Именно поэтому исходным файлам Java целесообразно присваивать имена, совпадающие с именами классов, которые они содержат – имя исходного файла будет совпадать с именем файла с расширением. class. При запуске java описанным способом в командной строке в действительности указывают имя класса, который нужно выполнить. Программа будет автоматически искать файл с указанным именем и расширением. class. Если программа найдет файл, она выполнит код, содержащийся в указанном классе.

Хотя программа Example. java достаточно коротка, с ней связано несколько важных особенностей, характерных для всех Java-программ. Давайте рассмотрим каждую часть этой программы более подробно.

Программа начинается со следующих срок:

/*

Это простая программа Java

*/

Этот фрагмент кода – комментарий. Подобно большинству других языков программирования, Java позволяет вставлять примечания в исходный файл программы.

Компилятор игнорирует содержимое комментариев. Эти комментарии служат описанием или пояснением действий программы для любого, кто просматривает исходный код.

В Java поддерживаются три стиля комментариев. Комментарий, приведенный в начале программы, называют многострочным комментарием. Этот тип комментария должен начинаться с символов /* и заканчиваться символами */. Весь текст, помещенный между этими двумя символами комментария, компилятором игнорируется. Как следует из его названия, многострочный комментарий может содержать несколько строк.

Следующая строка программы имеет такой вид:

class Example {

В этой строке ключевое слово class используется для объявления о том, что выполняется определение нового класса. Example – это идентификатор, являющийся именем класса. Все определение класса, в том числе его членов, будет размещаться между открывающей ({) и закрывающей (}) фигурными скобками. В среде Java все действия программы осуществляются внутри класса. В этом состоит одна из причин того, что все Java-программы (по крайней мере, частично) являются объектноориентированными.

Следующая строка программы – однострочный комментарий:

// Программа начинается с обращения к main().

Это второй тип комментариев, поддерживаемый языком Java. Однострочный комментарий начинается с символов // и завершается концом строки. Как правило, программисты используют многострочные комментарии для вставки длинных примечаний, а однострочные комментарии – для помещения коротких, построчных описаний.

Следующая строка кода выглядит так:

public static void main(String args[]) {

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

Ключевое слово public – спецификатор доступа, который позволяет программисту управлять видимостью членов класса. Когда члену класса предшествует ключевое слово public, этот член доступен коду, расположенному вне класса, в котором определен данный член. (Противоположное ему по действию ключевое слово – private, которое препятствует использованию члена класса кодом, определенным вне его класса. ) В данном случае метод main() должен быть определен как public, поскольку при запуске программы он должен вызываться кодом, определенным вне его класса. Ключевое слово static позволяет вызывать метод main() без конкретизации экземпляра класса. Это необходимо потому, что метод main() вызывается виртуальной машиной Java до создания каких-либо объектов. Ключевое слово void просто сообщает компилятору, что метод main() не возвращает никаких значений. Как будет показано в дальнейшем, методы могут также возвращать значения. Не беспокойтесь, если все сказанное кажется несколько сложным. Все эти концепции подробно рассматриваются в последующих главах. Как было отмечено, main() – метод, вызываемый при запуске Java-приложений.

Необходимо помнить, что язык Java чувствителен к регистру символов. Следовательно, строка Main не эквивалентна строке main. Важно понимать, что компилятор Java будет выполнять компиляцию классов, не содержащих метод main(). Но программа запуска приложений (java) не имеет средств запуска таких классов. Поэтому, если бы вместо main мы ввели Main, компилятор все равно выполнил бы компиляцию программы. Однако программа запуска приложений java сообщила бы об ошибке, поскольку не смогла бы найти метод main(). Для передачи любой информации, необходимой методу, служат переменные, указываемые в скобках, которые следуют за именем метода. Эти переменные называют параметрами. Если для данного метода никакие параметры не требуются, следует указывать пустые скобки. Метод main() содержит только один параметр, но достаточно сложный. Параметр String args[] объявляет параметр args, который представляет собой массив экземпляров класса String. (Массивы – это коллекции аналогичных объектов. ) Объекты типа String хранят символьные строки. В данном случае параметр args принимает любые аргументы командной строки, присутствующие во время выполнения программы. В данной программе эта информация не используется, но в других программах, рассмотренных позже, она будет применяться.

Последним символом строки является символ фигурной скобки ({). Он обозначает начало тела метода main(). Весь код, образующий метод, будет располагаться между открывающей и закрывающей фигурными скобками метода.

Еще один важный момент: метод main() служит всего лишь началом программы.

Сложная программа может включать десятки классов, только один из которых должен содержать метод main(), чтобы выполнение было возможным. Аплеты – Java-программы, внедренные в Web-браузеры, вообще не используют метод main(), поскольку в них применяются другие средства запуска выполнения аплетов.

Следующая строка кода приведена ниже. Обратите внимание, что она помещена внутри метода main():

System. out. println(" Простая Java-программа. " );

Эта строка выводит на экран строку текста " Простая Java-программа. ", за которой следует новая строка. В действительности вывод выполняется встроенным методом println(). В данном случае метод println() отображает переданную ему строку.

Строка начинается с идентификатора System. out. Хотя он слишком сложен, чтобы его можно было подробно пояснить на данном этапе, если говорить вкратце, System – это предопределенный класс, который предоставляет доступ к системе, а out – выходной поток, связанный с консолью.

Как легко догадаться, в реальных программах и аплетах Java консольный вывод (и ввод) используются не очень часто. Поскольку большинство современных компьютерных сред по своей природе являются оконными и графическими, в большинстве случаев консольный ввод-вывод применяется в простых служебных и демонстрационных программах. Позднее мы рассмотрим другие способы генерирования вывода с помощью Javа. А пока продолжим применять методы консольного ввода-вывода.

Обратите внимание, что оператор println() завершается символом точки с запятой. В Java все операторы заканчиваются этим символом. Причина отсутствия символа точки с запятой в конце остальных строк программы в том, что с технической точки зрения они не являются операторами.

Первый символ } завершает метод main(), а последний – определение класса Example.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...