Печать страницы

JAVA: Может кофейку?

Автор: Patrick
Опубликовано: 21-02-05
Исправлено: 07-03-05

Это статья поможет вам написать свою первую программу. Итак, нам понадобится:

Ваша первая программа

По сложившейся традиции первая программа на изучаемом языке программирования должна выводить строку "Hello, world". Создайте файл HelloWorld.java и введите с помощью текстового редактора следующий исходный код (source code) программы:

//HelloWorld.java
class HelloWorld { //Определение класса

    public static void main(String[] args) {
        //Выводит в консоль "Hello, World"
	System.out.println("Hello, World");
    }
}

Сохраняем наш файл HelloWorld.java в директорию на диске, например java. Запускаем командную строку и для компиляции исходного файла необходимо перейти в директорию с этим файлом.

Теперь обратимся к компилятору, чтобы преобразовать исходный код в байт-код(bytecodes) - инструкции, понятные для виртуальной машины Java (Java virtual machine). Байт-коды записываются в одном или в нескольких файлах, могут храниться во внешних носителях и передаваться по сети. Теперь можно приступить к компиляции, для этого в командной строке набирите следующую команду и жмем Enter:

javac HelloWorld.java

Для выполнения программы наберите в командной строке:

java HelloWorld

Если возникли проблемы, обратите внимание, что для выполнения нужно указать имя класса, т.е. HelloWorld, а не имя файла. Если указать имя файла HelloWorld.class, то класс не будет найден и возникнет такое исключение:

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class

Это означает, что класс не найден, а все потому, что интерпретатор java воспринимает HelloWorld как пакет(Пакет используется для логический группировки программных единиц Java), в котором находится класс с именем class, хотя класс с таким именем создать нельзя. Обратите внимание, что файл должен находиться в одной директории с javac и java, или путь к ним должен быть прописан у вас в PATH (в системном окружении: Система > Дополнительно > Переменные среды), или же укажите полный путь к компилятору C:\Progra~1\Java\jdk1.5.0\bin\java.

Каждая программа на Java есть класс. Класс может содержать поля (field) и методы (methods). Поля - это данные, принадлежащие либо самому классу, либо его объектам. Методы – это набор выражений, предназначенный для выполнения операций с полями объекта/класса и изменения его состояния. В приведенной выше программе объявляется класс с именем HelloWorld, который содержит всего один метод main. В Java этот метод имеет особое значение; метод main класса, объявленный так, как показано выше, выполняется, если запустить класс как приложение. При запуске метод main может создавать объекты, вычислять значения выражений, вызывать другие методы и делать все то, что вы в него заложили.

Ключевое слово public означает, что метод доступен другим классам, static означает, что метод принадлежит классу и не привязан ни к одному объекту(object), или, как еще говорят, экземпляру(instance), этого класса, void - он не возвращает никакого значения. Параметром метода main является массив строк args, содержащий аргументы, переданные программе в командной строке. В нашем примере тело(body)метода main содержит всего одино выражение, в котором вызывается метод println статического объекта out класса System. Для вызова метода необходимо указать объект и название метода, разделив их точкой (.). Метод println объекта out выводит в стандартный выходной поток строку текста и символ перехода на новую строку.

Комментарии

В Java предусмотрены комментарии трех видов. Текст, следующий за символами // вплоть до конца строки, игнорируется компилятором; то же самое относится и к тексту, заключенному между символами /* и */. Третий вид комментариев начинается с комбинации /** и заканчивается */. Комментарий, начинающийся с двух звездочек, является документирующим. Документирующие комментарии(doc comments) используются для описания назначения следующего за ними фрагмента программы. Инструментом для извлечения документирующих комментариев является программа javadoc, генерирующая по ним справочный файл в формате HTML.

Ваша первый апплет

Теперь мы создадим апплет(applet), который не является самостоятельной программой и может быть запущен из браузера с поддержкой java.

Впишите в файл следующий исходный код и сохраните его с именем HelloWorldApplet.java в директорию на диске:

//HelloWorldApplet.java
//<applet code="HelloWorldApplet" width=150 height=25>
//</applet>
import java.applet.Applet;
import java.awt.Graphics;

public class HelloWorldApplet extends Applet {
    public void paint(Graphics g) {
        //Выводит "Hello, World"
        g.drawString("Hello, World" , 50, 25);
    }
}

Пакеты для кофе

Две первые строки импортируют два дополнительных класса, которые используются в апплете: Applet и Graphics. Дополнительных, потому что существует целая библиотека классов java.lang, которая присоединяется автоматически к каждому файлу Java. Префиксы java.applet. и java.awt. сообщают компилятору в каких пакетах необходимо искать классы Applet и Graphics.Пакет(package) используется для логический группировки программных единиц Java и предоставляют механизм управления «пространством имен». Пакеты в Java являются именованными и могут импортироваться. Имена пакетов имеют иерархическую структуру, их компоненты разделяются точками. При использовании компонента пакета необходимо либо ввести его полное имя, либо импортировать пакет — целиком, для этого вместо имени класса нужно поставить знак (*), или частично. Приведем пример, в котором используются полные имена:

public class HelloWorldApplet extends java.applet.Applet {
    public void paint(java.awt.Graphics g) {
        //Выводит "Hello, World"
        g.drawString("Hello, World" , 50, 25);
    }
}

Классы Java всегда объединяются в пакеты. Имя пакета задается в начале файла:

package mypackage;

class {
//...
}

В Java существует соглашение писать имена пакетов только маленькими буквами. Если объявление package не было указано, класс становится частью безымянного пакета(unnamed package).

Посмотрим, что получилось

Создайте html-файл(например, applet.html) со следующим текстом:

<applet code="HelloWorldApplet" width=150 height=25></applet>

Компилируем

javac HelloWorldApplet.java

Можно посмотреть результат в браузере, запустив созданный вами html-файл, можно воспользоваться утилитой appletviewer, входящей в пакет JDK:

appletviewer Hello.html

Утилита appletviewer игнорирует весь html-код, кроме тега <applet>, поэтому его можно поместить в исходный файл программы в качестве комментария, как это сделано выше и для просмотра апплета выполнить команду:

appletviewer HelloWorldApplet.java

Если у вас есть какие-то вопросы - пишите.

Hosted by uCoz