17288

Установка Java 2 SDK и технология программирования на языке Java в режиме командной строки

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа 01 Установка Java SDK и технология программирования на языке Java в режиме командной строки. Цель работы Целью работы является приобретение навыков программирования на языке программирования Java в режиме командной строки. Состав рабочего места ...

Русский

2014-12-18

87.5 KB

5 чел.

Лабораторная работа 01

Установка Java 2 SDK и технология программирования на языке Java в режиме командной строки

1. Цель работы

Целью работы является приобретение навыков программирования на языке программирования Java в режиме командной строки.  

2. Состав рабочего места

2.1. Оборудование: IBM-совместимый   персональный компьютер (ПК).

2.2. Программное обеспечение: операционная система Windows, Java 2 SDK версии 6.0 и выше.

3. Краткие теоретические сведения

3.1. Установка пакета Java SE 6

Для установки пакета необходимы два файла:

  •  jdk-6u7-windows-i586-p.exe (или более поздняя версия) – содержит все программные средства, необходимые для работы с Java;
  •  jdk-6-doc.zip – архивированный файл, содержащий документацию по пакету (на английском языке).

Установка пакета начинается с запуска программы jdk-6u7-windows-i586-p.exe.

В процессе установки рекомендуется использовать параметры, принятые по умолчанию. При выборе устанавливаемых компонентов Java рекомендуется не включать в установку исходные тексты библиотеки Java.  

После установки программных средств откройте с помощью архиватора файл jdk-6-doc.zip и извлеките документацию в папку, где был установлен JDK, например,

C:\Program Files\Java\jdk1.6.0_07.

В папке с JDK появится папка docs.

3.2. Работа с документацией

Откройте в папке docs файл index.html, содержащий краткий обзор JDK SE 6, а также ссылки на документацию по Java.

В этом файле выберите гиперссылку Java Platform API Specification на спецификацию интерфейса прикладного программирования языка Java.

В результате перехода по гиперссылке откроется Web-страница

C:\Program Files\Java\jdk1.6.0_07\docs\api\index.html,

содержащая описание всех пакетов, классов, свойств (полей) и методов языка Java.

Чтобы быстрее получить доступ к этой Web-странице рекомендуется добавить ее в избранные страницы (в Internet Explorer это выполняется с помощью команды Добавить в папку "Избранное" меню Избранное).

В левом верхнем фрейме Web-страницы выводится пункт All Classes и наименования всех пакетов языка Java. Если выбран пункт All Classes (он выбирается по умолчанию при загрузке Web-страницы), то в левом нижнем фрейме выводятся наименования всех классов и интерфейсов всех пакетов Java (наименования классов выводятся обычным шрифтом, а интерфейсов – курсивом). Если левом верхнем фрейме выбрать один из пакетов, в левом нижнем фрейме выводятся классы и интерфейсы только этого пакета.

Для получения документации по компоненту в  левом нижнем фрейме необходимо выбрать имя этого компонента. После этого в правом фрейме выводится Web-страница с описанием компонента, содержащим:

  •  имя компонента;
  •  иерархию его классов-предков;
  •  реализуемые в компоненте интерфейсы;
  •  список прямых потомков данного компонента (если они есть);
  •  краткое описание компонента;
  •  список полей компонента (Field Summary);
  •  список полей, унаследованных от компонентов-предков;
  •  список конструкторов компонента (Constructor Summary);
  •  список методов компонента (Method Summary);
  •  список методов, унаследованных от компонентов-предков;
  •  более подробные описания полей, конструкторов и методов компонента.

Чтобы получить более подробное описание поля, конструктора или метода, надо в списке щелкнуть по его имени мышью.

3.3. Технология программирования приложений Java в режиме командной строки

3.3.1. Создание и редактирование программы

Программа на языке Java представляет собой текстовый файл, содержащий описания одного или нескольких классов. Имя файла должно совпадать с именем одного из классов в файле, либо с именем единственного класса в файле. Если одни из классов файла содержит метод main(), в качестве имени файла должно быть выбрано имя этого класса. Имена файлов, содержащих программы на языке Java должны иметь расширение .java.

При программировании приложений на языке Java в режиме командной строки создание и редактирование программы можно выполнить в любом текстовом редакторе, например, редакторе Блокнот или редакторе Bred3. Однако здесь есть одна проблема: программа выполняется в режиме командной строки, т.е. с использованием кодировки MS DOS (CP866). Если в выводе программы используются буквы кириллицы, то они должны быть представлены в этой кодировке и тексте программы.

Существует два способа решения этой проблемы:

  •  вся программа набирается в кодировке CP866 (можно использовать редактор Bred3 в котором в меню Кодировка можно задать кодировку CP866 текста с помощью команды OEM);
  •  программа набирается в кодировке Windows (Windows-1251), а в выводе программы используются только латинские буквы.

При программировании графических приложений Java эта проблема снимается, т.к. все надписи в окне графического приложения выполняются в кодировке Windows-1251.

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

Команда компилятора javac.exe находится в подпапке bin каталога, содержащего JDK, и является программой, выполняемой в режиме командной строки. Поэтому компиляция и запуск программ должны выполняться в окне Command Prompt, либо (что предпочтительнее) в среде какой-либо программной оболочки, например, Far.

Чтобы откомпилировать программу, надо сделать текущим папку с файлом программы, а затем набрать и выполнить команду:

javac опции имя-файла.java 

Если программа содержит ошибки, то компилятор выдаст сообщения о всех ошибках программы с описанием ошибки и строкой файла, в которой содержится ошибка, например:

D:\javaTest>javac HelloJava.java

HelloJava.java:9: ';' expected

       Date d = new Date()

В этом случае в конце предложения

Date d = new Date()

в строке 9 отсутствует символ окончания предложения – ';'.

После устранения ошибок с помощью редактора надо повторно откомпилировать программу.

Если программа не содержит ошибок, компилятор просто выводит пустую строку.

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

При запуске компилятора javac можно указать опции компилятора. Основными опциями компилятора являются:

  •  -classpath каталог-1, каталог-2, …, в котором указывается имя или имена каталогов (с указанием пути), из которых берутся файлы байт-кодов, необходимых для компиляции программы (если опция не задана, предполагается использование библиотеки Java и файлов байт-кодов текущего каталога);
  •  -d каталог, в котором указывается имя каталога (с указанием пути), куда будут помещены созданный файл или файлы байт-кодов (если опция не задана, все создаваемые классы помещаются в текущий каталог);
  •  -verbose для подробного вывода результатов компиляции: времени компиляции, использованных при компиляции классах и созданных в результате компиляции классах (если опция не задана, при успешной компиляции ничего не выводится);
  •  -help для вывода справочной информации о команде.

Справочную информацию о команде можно также получить, если ввести команду javac без параметров.

Полный список опций компилятора javac приведен в файле tooldocs\win32\javac.html документации JDK.

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

Если при вводе команды javac выдается следующее сообщение:

D:\javaTest>javac HelloJava.java

"javac" не является внутренней или внешней

командой, исполняемой программой или пакетным файлом.

В этом случае необходимо либо каждый раз при вызове команды задавать полный путь к ней, например:

C:\Program Files\Java\jdk1.6.0_07\bin\javac HelloJava.java

либо установить путь к папке пакета Java.

Установка пути в Windows XP выполняется следующим образом:

  •  нажать в главном меню кнопку Панель управления;
  •  нажать в окне Панели управления кнопку Система;
  •  в открывшемся окне Свойства системы выбрать вкладку Дополнительно и в ней нажать кнопку Переменные среды;
  •  в поле Системные переменные окна Переменные среды выбрать переменную окружения Path и нажать кнопку Изменить;
  •  в диалоговом окне Изменение системной переменной в поле Значения переменной найти конец строки и добавить в конец строки символ ";", а затем путь к папке bin пакета Java:

C:\Program Files\Java\jdk1.6.0_02\bin

и нажать во всех открытых окнах кнопку OK.

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

3.3.3. Выполнение программы

Команда интерпретатора java.exe находится в подпапке bin каталога, содержащего JDK, и вызывается следующим образом:

java опции имя-класса 

В параметре имя-класса задается имя класса, содержащего метод main(), без расширения .class, например:

java HelloJava

При вызове интерпретатора java можно также указать опции -classpath (или  -cp), -verbose:class и -help.

В опции

-classpath (-cp)

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

Если указана опция -verbose:class, то выдается информация о каждом загружаемом классе.

Опция -help, так же как и вызов  команды java без параметров, выдает справочную информацию о команде.

Полный список опций интерпретатора java приведен в файле tooldocs\win32\java.html документации JDK.

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

Если в качестве параметра задается символ звездочки (*), то программе передаются имена файлов текущего каталога (каждое имя как отдельный параметр). Если необходимо передать звездочку как значение параметра, ее необходимо также заключить в двойные апострофы.

3.4. Структура приложения Java и простой ввод-вывод

Если программа является приложением, она должна содержать в файле объявление класса, имя которого совпадает с именем файла, метод с именем main. Этот метод должен быть общедоступным,  статическим и не возвращающим никакого значения, а в качестве параметров этого метода должен быть задан массив строк:  

public static void main(String args[])

{  

 тело-метода

}

Метод main запускается первым при выполнении программы. В массиве строковых переменных args в программу передаются параметры, заданные при запуске программы (первый параметр – в нулевом элементе массива, второй в первом и т.д.). Описание массива в параметрах метода main является обязательным, даже если параметры не обрабатываются в программе.

Параметры, задаваемые в командной строке, можно использовать для ввода данных в программу.

Для вывода результатов выполнения программы и диагностических сообщений на дисплей в классе System пакета java.lang описаны два потоковых объекта класса PrintStream:

public static final PrintStream out

и

public static final PrintStream err

Поскольку это статические объекты, их можно использовать в программах, не создавая собственных потоковых объектов, и в то же время им доступны методы класса для вывода данных (обычно используются методы print() и println()).  

При вызове методов print() и println() может быть задан аргумент типа String, char, char[], int, long, float, double, boolean и Object, например:

int i = 10;

System.out.println("i=" + i);  

На дисплей будет выведена строка: i=10.

Единственное различие между методами print() и println() заключается в том, что последний всегда добавляет символ перевода строки ко всему, что выводит на дисплей, а первый остается на той же строке. Если нужно перейти на новую строку, можно вызвать println() без параметров.

Выполнение программы заканчивается, когда выполнен последний оператор программы или если в программе произошла ошибка (в этом случае объект System.err выводит на дисплей диагностические сообщения).

Выполнение программы можно также завершить с помощью следующего метода класса System:

public static void exit(int status)

Параметр status задает значение кода завершения программы, например:

boolean progError;

if (progError)

System.exit(5);

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

3.5. Классы и пакеты

Объявление класса в Java имеет следующий формат:

class идентификатор-класса 

{

 тело-класса

}

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

MyFirstClass.

В теле класса (и только в теле класса) определяются его переменные и методы.

Таким образом, программа на языке Java представляет собой объявления одного или нескольких классов. Каждый класс в программе компилируется в отдельный файл с именем идентификатор-класса.class.

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

Эта структура в точности соответствует древовидной структуре файловой системы. Все файлы с расширением .class (содержащие байт-коды), образующие пакет, хранятся в одном каталоге, а подпакеты хранятся в подкаталогах этого каталога.

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

java.awt.event

обозначает имя подпакета event, находящегося в подпакете awt, который, в свою очередь, находится в пакете java, а имя:

javax.swing.event

обозначает имя другого подпакета с тем же именем event, но который находится в подпакете swing пакета javax.

Каждый пакет образует одно пространство имен (namespace). Это означает, что все имена классов, интерфейсов и подпакетов в пакете должны быть уникальны. Имена в разных пакетах могут совпадать, но это будут разные программные единицы. Таким образом, ни один класс, интерфейс или подпакет не может оказаться сразу в двух пакетах. Если надо использовать два класса с одинаковыми именами из разных пакетов, то имя класса уточняется именем пакета: пакет.класс. Такое уточненное имя называется полным именем класса (fully qualified class name). Например, имя

java.util.Date

указывает на класс Date в пакете java.util, а имя

java.sql.Date

указывает на другой класс с тем же именем Date, но в пакете java.sql.

При компиляции необходимые для выполнения программы классы пакетов Java, за исключением пакета java.lang, автоматически не включаются. Для того, чтобы сделать их доступными в программе на языке Java, можно либо указывать полное имя класса, либо использовать оператор или операторы  import с именем пакета и именем используемого класса данного пакета, например:

import java.util.Date;

делает доступным программе класс Date из пакета java.util. (в этом случае класс доступен в программе просто по своему имени Date).

Если необходимо использовать несколько классов или интерфейсов из пакета, обычно вместо имени класса или интерфейса ставится символ "*", что указывает, что данной программе будут доступны все классы и интерфейсы данного пакета, например, оператор:

import java.awt.*;

делает доступными программе все классы из пакета java.awt.  

Операторы import должны быть заданы в программе до первого использования заданного в нем класса или классов, однако принято располагать все операторы import в самом начале программы (до объявления первого класса).

Операторы внутри класса всегда может обращаться ко всем полям и методам данного класса. Однако по умолчанию методы и переменные класса доступны только в том пакете, где класс определен. Чтобы сделать методы и переменные класса доступными во всех пакетах, необходимо перед ключевым словом класс указать модификатор доступа public, например:

public class publicClass

{

// Тело класса

}

4. Порядок выполнения работы

1. Откомпилируйте и выполните следующую программу на языке Java в режиме командной строки:

public class HelloJava1 {

   

public static void main(String[] args) {

        System.out.println("Hello, Java!")

    }

}  

  1.  Откройте программу Far в своей папке.
    1.  Сохраните программу в своей папке в файле с именем HelloJava1.java.
    2.  Запустите программу на компиляцию с помощью команды javac.
    3.  Исправьте ошибку в программе и повторно запустите программу на компиляцию. В результате будет создан файл HelloJava1.class.
    4.  Запустите программу на выполнение с помощью команды java.
    5.  Результат выполнения программы скопируйте в текстовый файл для отчета (используя команды Пометить и Копировать меню команды Изменить окна Far) .

5. Содержание отчета

В отчете должны быть представлены:

  •  текст и вывод программы  HelloJava1;

6. Вопросы для самоконтроля

  1.  Расскажите технологию установки пакета Java 2 SE 6?
  2.  Что представляют собой программы на языке Java?
  3.  Какие расширения должны иметь имена файлов, содержащих программы на языке Java?
  4.  В какой кодировке должны быть введены кириллические символы в программах на языке программирования Java? Каким образом это можно осуществить при выполнении программирования на языке Java в режиме командной строки?
  5.  Каким файлом компилируются программы на языке программирования Java в режиме командной строки? Напишите стандартный шаблон такой команды.
  6.  Каким образом компилятор выдаст сообщения о ошибках, если программа на языке Java содержит таковые?
  7.  Каким образом выполнить откомпилированную программу на языке Java?  Напишите стандартный шаблон такой команды.
  8.  Какой класс должен быть вызван при запуске интерпритатора?

айл: file:///web/5fan/public_html/www/files/3/5fan_ru_17288_84baf244c344af1116b68052a504c604.doc Создан: 2011-02-01T04:52:00Z Модифицирован: 2011-02-01T04:52:00Z Автор:


 

А также другие работы, которые могут Вас заинтересовать

7485. Древнегреческая мифология и религия 20.89 KB
  Древнегреческая мифология и религия - религия и мифология древних греков (эллинов).  По мнению авторитетного исследователя античной мифологии А.Ф. Лосева, сущность греческой мифологии определяется особенностями первобытнообщинного строя греков,...
7486. Христианская мифология 79.5 KB
  Христианская мифология, комплекс представлений, образов, наглядных символов, связанных с религиозной доктриной христианства и развивающихся во взаимодействии этой доктрины с фольклорными традициями народов. Соотношение между христианской доктриной и...
7487. Психология. Понятие о психологии 235.5 KB
  Психология. Тема 1.1. Понятие о психологии. Научное определение психологии, и ее аспекты, этапы становления. Общая психология в современном представлении. Отрасли психологии. 1 Психология - это наука о психике человека и...
7488. Педагогическая психология. Предмет, задачи, методы педагогической психологии 60 KB
  Педагогическая психология. Тема 2.1. Предмет, задачи, методы педагогической психологии. Современная педагогическая психология и предмет ее изучения. Проблемы и задачи современной педагогической психологии. Методы педагогической пси...
7489. Педагогика. Предмет и основные категории педагогики 88.5 KB
  Педагогика. Тема 3.1. Предмет педагогики. Предмет и основные категории педагогики. История и классовый характер воспитания. Связь педагогики с другими науками. 1. Предмет и основные категории педагогики. К числу основных понятий пе...
7490. Приёмы игры на гитаре 26.44 KB
  План школьного открытого урока Приёмы игры на гитаре Добрый день, уважаемые преподаватели. Тема моего открытого урока: Приёмы игры на гитаре Сегодня открытый урок я проведу с учеником 4-го класса Иваном Мотузом...
7491. Возникновение и развитие философии марксизма 34 KB
  Возникновение и развитие философии марксизма Основателем этой философии были Карл Маркс (1818 - 1883) и Фридрих Энгельс (1820 - 1895). К. Маркс учился на юридическом факультете, его выпускная диссертация была на тему Различия натуралистического...
7492. Древнейшие формы мировоззрения 49 KB
  Древнейшие формы мировоззрения. Мировоззрение - это система взглядов на мир и место в нем человека. Мировоззрению предшествуют мироощущение,миропредставление, миропонимание. Мировоззрение определяет как человек понимает мир,как относится к нему...
7493. Немецкая классическая философия, взгляды философов классиков 54 KB
  Немецкая классическая философия Иммануил Кант (1724 - 1804) - родоначальник немецкой классической философии. Родился и прожил всю жизнь в Кенигсберге (Калининград) - центр Восточной Пруссии. В 1745 г. Кант закончил Университет. После...