Первая программа на Java

Динамичность

Поддержка потоков

Использование интерпретатора

Переносимость

В отличие от языков С и C++, ни один из элементов спецификации Jаvа не зависит от реализации. И размер основных типов данных, и арифметические операции над ними строго определены. Библиотеки, представляющие собой часть системы, предоставляют интерфейс, обеспечивающий переносимость программ. Например, в языке предусмотрен абстрактный класс Window и его реализации для операционных систем Unix, Windows и Macintosh.

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

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

Наличие нескольких потоков обеспечивает лучшую интерактивность и возможность выполнения программ в реальном масштабе времени.

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

Во многих отношениях язык Java является более динамичным, чем языки С и C++. Он был разработан так, чтобы легко адаптироваться к постоянно изменяющейся среде. В библиотеки можно свободно включать новые методы и объекты, никак не затрагивая этим приложения, пользующиеся библиотеками. Язык Java позволяет легко получать информацию о ходе выполнения программы.

 

Изучение любого языка программирования удобно начинать с программы вывода обычного сообщения:

// пример # 1 : простое приложение: First.java public class First { public static void main (String[] args) { System.out.println("Первая программа на Java!"); } }

Здесь класс First используется для того, чтобы определить метод main(), который запускается автоматически интерпретатором Java. Метод main() содержит аргументы–параметры командной строки String[] args в виде массива строк и является открытым (public) членом класса. Это означает, что метод main() виден и доступен любому классу. Ключевое слово static объявляет методы и переменные класса, используемые для работы с классом в целом, а не только с объектом класса. Символы верхнего и нижнего регистров здесь различаются, как и в C++. Вывод строки "Первая программа на Java!" в примере осуществляет метод println() (ln – переход к новой строке после вывода) объект out класса System.

Фигурные скобки отмечают начало и конец тела метода или класса. Каждый оператор должен заканчиваться точкой с запятой.

Каждое приложения написанное на Java должно иметь метод main().

Необходимо заметить, что для вызова метода некоторого объекта используется точка (селектор). В общем случае:

Объект.метод(параметры)

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

javac First.java

При успешной компиляции создается файл First.class. Выполнить этот виртуальный код можно с помощью интерпретатора Java:

java First

// пример # 2: ввод строки с консоли : InputStr.java
import java.io.*;//подключение пакета классов
public class InputStr
{
public static void main(String[] args)
{
/*байтовый поток ввода System.in передается конструктору
при создании объекта класса InputStreamReader */
InputStreamReader is = new InputStreamReader(System.in);
/*производится буферизация данных, исключающая необходимость
обращения к источнику данных при выполнении
операции чтения */
BufferedReader bis = new BufferedReader(is);
try {
System.out.println("Введите Ваше имя и нажмите <Enter>:");
/*чтение строки из буфера; метод readLine() требует
обработки возможной ошибки при вводе c консоли в блоке try */
String name = bis.readLine();
System.out.println("Привет, " + name);
}
catch (IOException e)
{System.out.print("ошибка ввода " + e);
}
}
}

Обработка исключительной ситуации IOException, которая возникает в операциях ввода/вывода, осуществляется в методе main() с помощью реализации блока try–catch.

В результате запуска приложение предложит пользователю ввести имя и нажать ввод, после этого на консоль будет выведен текст приветствия. В этом примере использованы конструкторы и методы классов InputStreamReader и BufferedReader из библиотеки java.io, в частности, метод readLine() для чтения строки из буфера, связанного с потоком ввода System.in.

В языке Java используются однострочные и блочные комментарии // и /* */, аналогичные комментариям, применяемым в C++. Введен также новый вид комментария /** */, который может содержать дескрипторы вида:

@author – задает сведения об авторе;

@exception – задает имя класса исключения;

@param – описывает параметры, передаваемые методу;

@return – описывает тип, возвращаемый методом;

@throws – описывает исключение, генерируемое методом.

Из java–файла, содержащего такие комментарии, соответствующая утилита javadoc.exe может извлекать информацию для документирования классов и сохранения ее в виде HTML–документа. Коментарии в Java игнорируются.