Это статья поможет вам написать свою первую программу. Итак, нам понадобится:
По сложившейся традиции первая программа на изучаемом языке программирования должна выводить строку "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
Если у вас есть какие-то вопросы - пишите.