Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

ДОНЕЦКОЙ НАРОДНОЙ РЕСПУБЛИКИ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ

КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К ВЫПОЛНЕНИЮ И ОФОРМЛЕНИЮ

ЛАБОРАТОРНЫХ РАБОТ К КУРСУ

«ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ

ПРОГРАММИРОВАНИЕ В СРЕДЕ JAVA»

Донецк 2018

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

ДОНЕЦКОЙ НАРОДНОЙ РЕСПУБЛИКИ

ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ

КАФЕДРА КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К ВЫПОЛНЕНИЮ И ОФОРМЛЕНИЮ ЛАБОРАТОРНЫХ РАБОТ К КУРСУ

«ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В СРЕДЕ JAVA»

ДЛЯ СТУДЕНТОВ НАПРАВЛЕНИЯ ПОДГОТОВКИ 09.03.01

КВАЛИФИКАЦИОННОГО УРОВНЯ БАКАЛАВРА

Донецк ДонНУ 2018

 

СОДЕРЖАНИЕ

...

ВВЕДЕНИЕ

Язык Java ворвался в Интернет в конце 1995 года и немедленно завоевал популярность. Он обещал стать универсальным средством, обеспечивающим

связь пользователей с любыми источниками информации, независимо от того, где она расположена – на Web-сервере, в базе данных, хранилище данных и т.д. Этот хорошо разработанный объектно-ориентированный язык программирования поддержали все производители программного обеспечения. Он имеет встроенные средства, позволяющие решать задачи повышенной сложности такие как: работа с сетевыми ресурсами, управление базами данных, динамическое наполнение web-страниц, многопоточность приложений.

ЛАБОРАТОРНАЯ РАБОТА №1

Тема: создание программ на языке java

 

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

 

Методические указания к выполнению работы

Инсталляция набора инструментальных средств Java Software Development Kit

JDK долгое время был базовым средством разработки приложений. Он не содержит никаких текстовых редакторов, а оперирует только с уже существующими java-файлами. Компилятор представлен утилитой javac (java compiler), виртуальная машина реализована программой java. Для тестовых запусков аплетов есть специальная утилита appletviewer.

Пакет Java Software Development Kit можно загрузить с web-страницы http://java.sun.com/javase/downloads/index.jsp. Способы инсталляции на разных платформах (Solaris, Windows, Linux) отличаются друг от друга. После инсталляции пакета JSDK нужно добавить имя каталога jdk\bin в список путей, по которым операционная система может найти выполняемые файлы. Правильность установки пакета можно проверить, набрав команду java –version.

 

 

Лексика языка

Лексика описывает, из чего состоит текст программы, каким образом он записывается и на какие простейшие слова (лексемы) компилятор разбивает программу при анализе. Лексемы (или tokens в английском варианте) – это основные "кирпичики", из которых строится любая программа на языке Java[1]. Ниже перечислены все виды лексем в Java: идентификаторы (identifiers);

ключевые слова (key words);

литералы (literals);

разделители (separators);

операторы (operators).

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

Ключевые слова – специальные лексемы, зарегистрированные в системе для внутреннего использования, такие как abstract, default, if, private, this, boolean, implements, protected, static, try, void, native и др.

Литералы позволяют задать в программе значения для числовых, символьных и строковых выражений, а также null-литералов. В Java определены следующие виды литералов:

целочисленный (integer);

дробный (floating-point);

булевский (boolean);

символьный (character);

строковый (string);

null-литерал (null-literal).

 

Целочисленные (тип int занимает 4 байта, тип long – 8) литералы позволяют задавать целочисленные значения в десятеричном, восьмеричном шестнадцатеричном виде. Запись нуля можно осуществить следующими способами:

0 (10-ричная система)

00 (8-ричная)

0x0 (16-ричная)

Если в конце литерала не стоит указателя на тип, то литерал по умолчанию имеет тип int.

Дробные литералы (тип float занимает 4 байта, тип double – 8) представляют собой числа с плавающей десятичной точкой. Дробный литерал состоит из следующих составных частей (по умолчанию имеет тип double):

целая часть;

десятичная точка (используется ASCII-символ точка);

дробная часть;

показатель степени (состоит из латинской ASCII-буквы «E» в произвольном регистре и целого числа с опциональным знаком «+» или «–»);

окончание-указатель типа (D или F).

Символьные литералы. Представляют собой один символ и заключаются в одинарные кавычки ‘s’, ‘a’. Допускается запись через Unicode ‘\u0041’ – латинская буква “A”.

Строковые литералы состоят из набора символов и записываются в двойных кавычках: “символьный литерал”.

Null литерал может принимать всего одно значение: null. Это литерал ссылочного типа, причем эта ссылка никуда не ссылается.

Разделители – специальные символы, используемые в конструкциях языка “()”, “[]”, “{}”, “;”, “,”, “.”.

 

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

 

Типы данных

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

Все типы данных разделяются на две группы. Первую составляют 8 простых или примитивных (от английского primitive) типов данных [1-2]. Они подразделяются на три подгруппы:

целочисленные: byte, short, int, long, char;

дробные: float, double;

булевский: boolean.

Булевский тип представлен всего одним типом boolean, который может хранить всего два возможных значения - true и false. Величины именно этого типа получаются в результате операций сравнения.

Вторую группу составляют объектные или ссылочные (от английского reference) типы данных. Это все классы, интерфейсы и массивы.

 

Переменные

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

Ниже в таблице сведены данные по всем целым и дробным типам:

Название типа Длина (байт) Область значений

 

Целые типы

byte 1 -128..127
short 2 -32768..32767
int 4 -2147483648..2147483647
long 8 -9223372036854775808.. 9223372036854775807
char 2 0..65535

 

Дробные типы

float 4 3.40282347e+38f; 1.40239846e-45f
double 8 1.79769313486231570e+308; 4.94065645841246544e-324

Поток управления

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

public static void main(String [] args)

{ int n;

{

int k;

int n; // Ошибка – невозможно переопределить переменную n во вложенном цикле

}//переменная k определена только в этом блоке

}

 

Условные операторы

Условный оператор в языке Java имеет вид:

if (условие) оператор

или

if (условие) {

оператор1;

оператор2; }

Все операторы, заключенные в фигурные скобки, будут выполнены, если значение условия истинно. Общий случай условного оператора выглядит так:

if (условие) оператор1 else оператор2

if (yourSale >= target)

{ performance=”Удовлетворительно”; Bonus = 100 + 0.01*(yourSale - target);

}else

{ performance=”Неудовлетворительно”;

Bonus =0;}

Многовариантное ветвление представлено в виде повторяющихся операторов if … else if…

if (sale >=2*target)

 

{ performance=”Отлично”;

}

else if (sale >=1.5*target)

{ performance=”Удовлетворительно”;

}

else {System.out.println(“Вы уволены”);}

 

Неопределенные циклы

Существует два вида повторяющихся циклов, которые лучше всего подходят, если вы точно не знаете, сколько повторений должно быть выполнено. Первый из них, цикл while, выполняет тело цикла, только пока выполняется его условие.

while (условие) {операторы;}

Условие цикла while проверяется в самом начале. Следовательно, возможна ситуация, когда код, содержащийся в блоке, не будет выполнен ни разу. Если необходимо, чтобы блок выполнялся хотя бы один раз, проверку условия нужно перенести в конец. Это можно сделать с помощью цикла do/while.

do оператор while (условие);

 

Определенные циклы

Цикл for – распространенная конструкция для выполнения повторений, количество которых контролируется счетчиком, обновляемым на каждой итерации.

for (int i = 1; i < = 10; i++){

System.out.println(i);

}

Первый элемент оператора for обычно выполняет инициализацию счетчика, второй формулирует условие выполнения тела цикла, а третий определяет способ обновления счетчика. for (int i = 10; i > 0; - i){

 

System.out.println(“Обратный отсчет …” + i);

}

 

1.9. Многовариантное ветвление – оператор switch

Конструкция if/else может оказаться неудобной, если необходимо сделать выбор из многих вариантов. Например, создавая систему меню из трех альтернатив, можно использовать следующий код.

String input = JOptionPane.showInputDialog (“Выберите вариант (1, 2, 3)”);

int choice = Integer.parseInt (input);

switch (choice){

case 1:

break;

case 2:

break;

case 3:

break;

default: // неверный выбор

break; }

Выполнение начинается с метки case, соответствующей значению переменной choice, и продолжается до следующего оператора break или конца оператора switch. Если ни одна метка не совпадает со значением переменной, выполняется раздел default. Метка case должна быть целочисленной!

 

Пакеты

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

Имена бывают простыми (simple), состоящими из одного идентификатора, и составными (qualified), состоящими из последовательности идентификаторов, разделенных точкой. Составное имя любого элемента пакета составляется из составного имени этого пакета и простого имени элемента.

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

space.sunsystem.Moon хранится в файле space\sunsystem\Moon.java Запуск программы на JAVA стоит производить из директории, в которой

содержатся пакеты. Было бы ошибкой запускать Java прямо из папки space\sunsystem и пытаться обращаться к классу Moon, несмотря на то, что файл-описание лежит именно в ней. Необходимо подняться на два уровня директорий выше, чтобы Java, построив путь из имени пакета, смогла обнаружить нужный файл.

 

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

Изучить предлагаемый теоретический материал; создайте следующие программы:

1. Программа выдает на экран все аргументы, переданные ей через командную строку. Основной класс программы (с функцией main()) находится в пакете test.first. Привести команды компиляции и запуска программы с точным указанием места на жестком диске, откуда выполнялись эти команды.

2. Программа, в которой перебираются числа от 1 до 500 и выводятся на экран. Если число делится на 5, то вместо него выводится слово fizz, если на 7, то buzz. Если число делится на 5 и на 7, то выводить слово fizzbuzz. Примечание*: остаток от деления в Java обозначается через символ %.

3. Программа, в которой все переданные во входную строку аргументы выводятся на экран в обратной порядке. Например, если было передано 2 аргумента – make install, то на экран должно вывестись llatsni ekam. Примечание*: для разбора слова по буквам необходимо использовать функцию charAt(). Например, str.charAt(i) вернет символ с позиции i в слове, записанном в строковую переменную str. Команда str.length() возвращает длину слова str.

4. Создайте программу, вычисляющую числа Фибоначчи. Числа Фибоначчи – последовательность чисел, в котором каждое следующее число равно сумме двух предыдущих. Начало этой последовательности – числа 1, 1, 2, 3, 5, 8, 13…

5. Создайте программу, вычисляющую факториал целого числа.

6. Создайте программу, вычисляющую простые числа с применением алгоритма «Решето Эратосфена». Этот алгоритм находит простые числа путем исключения всех чисел, кратных меньшим простым.

 

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

1. цель работы;

2. введение;

3. программно-аппаратные средства, используемые при выполнении работы;

 

4. основную часть (описание самой работы), выполненную согласно требованиям к результатам выполнения лабораторного практикума;

5. заключение (описание результатов и выводы);

6. список используемой литературы.

 

Список рекомендуемой литературы

1. Шилдт, Герберт Java 8. Руководство для начинающих / Герберт Шилдт. - М.: Вильямс, 2015. - 720 c.

2. Гарнаев, Андрей WEB-программирование на Java и JavaScript / Андрей Гарнаев, Сергей Гарнаев. - Москва: СПб. [и др.]: Питер, 2017. - 718 c.

3. Гонсалвес, Энтони Изучаем Java EE 7 / Энтони Гонсалвес. - М.: Питер, 2016. - 640 c.

4. Гупта, Арун Java EE 7. Основы / Арун Гупта. - М.: Вильямс, 2014. - 336 c.

5. Савитч, Уолтер Язык Java. Курс программирования / Уолтер Савитч. - М.: Вильямс, 2015. - 928 c.

 

 

ЛАБОРАТОРНАЯ РАБОТА №2

Тема: создание классов

 

Цель: Получить основные понятия по следующим разделам языка Java: объектно-ориентированное программирование, создание объектов и классов из стандартной библиотеки Java; создание собственных классов.

 





Поделиться с друзьями:


Дата добавления: 2018-10-18; Мы поможем в написании ваших работ!; просмотров: 432 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Ваше время ограничено, не тратьте его, живя чужой жизнью © Стив Джобс
==> читать все изречения...

2264 - | 2207 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.