Разработка цикла лабораторных работ по интернет–программированию для студентов непрофильных специальностей

Обзор литературы по темам "JavaScript", "PHP" и "Java". Методические разработки лабораторных работ: документы HTML, фреймы, строка состояния и таймер. Основы синтаксиса и обработка запросов с помощью PHP. Объектно-ориентированное программирование в Java.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 14.10.2012
Размер файла 106,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

Основная работа состоит в изучении теории и наборе примеров. Для закрепления полученных знаний, по каждой теме предусмотрены тесты.

Оцениваться знания студентов рекомендуется по результатам тестов.

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

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

5.2 Введение в Java

Java - это один из лучших языков, доступных серьезным программистам.

Одно из основных преимуществ языка Java - независимость от платформы, на которой выполняются программы: один и тот же код можно запускать под управлением операционных систем Windows, Solaris, Linux, Machintosh и др.

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

Другое преимущество заключается в том, что синтаксис языка Java похож на синтаксис языка C++, и программистам, знающим языки С и C++, его изучение не составляет труда [25].

Кроме того, Java - полностью объектно-ориентированный язык, даже в большей степени, чем C++. Все сущности в языке Java являются объектами, за исключением немногих основных типов (primitive types), например чисел.

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

В Java введены истинные массивы и запрещена арифметика указателей.

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

Исключено множественное наследование. Оно заменено новым понятием - интерфейсом, позаимствованным из языка Objective С.

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

Рассмотрим простейшую программу, какую только можно себе представить, - она просто выводит сообщение в консольное окно.

public class FirstSample

{

public static void main(St ring[] args)

{

System.out.print In("We will not use 'Hello, World!'");

}

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

Теперь просмотрим исходный код построчно. Ключевое слово public называется модификатором доступа (access modifier); такие модификаторы управляют доступом к данному коду из других частей программы [18].

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

За ключевым словом class следует имя класса. Правила образования имен классов не слишком строги. Имя должно начинаться с буквы, а остальная его часть может быть любой комбинацией букв и цифр. Длина имени практически не ограничена. В качестве имени класса нельзя использовать зарезервированные слова языка Java (например, public или if).

Как видно по имени FirstSample, классы принято называть именами существительными, начинающимися с прописной буквы.

Файл, содержащий исходный текст, должен называться так же, как и открытый класс, и иметь расширение java. Таким образом, класс мы должны записать в файл FirstSample.java. Если этого не сделать, то при попытке выполнить компиляцию появиться сообщение об ошибке.

Когда для запуска скомпилированной программы используется команда java ИмяКласса, интерпретатор языка Java всегда начинает свою работу с выполнения метода main указанного класса. Следовательно, чтобы программа вообще могла выполняться, в классе должен содержаться метод main. Разумеется, в класс можно добавить свои собственные методы и вызывать их с помощью метода main.

В соответствии со спецификацией языка Java метод main должен быть объявлен открытым (public).

Теперь рассмотрим следующий фрагмент кода:

{

System.out.println ("We will not use `Hello, World!' " ) ;

}

Фигурные скобки отмечают начало и конец тела метода, состоящего лишь из одного оператора. Как и в большинстве языков программирования, операторы языка Java можно считать предложениями. В языке Java каждый оператор должен заканчиваться точкой с запятой. В частности, символ конца строки не означает конец оператора, поэтому оператор может занимать столько строк, сколько потребуется [27].

Тело метода main состоит из оператора, который выводит на консоль одну строку текста.

В данном примере используется объект System.out и вызывает его метод println. Для вызова метода используется точка. В общем случае вызов метода имеет следующий вид:

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

В данном примере вызывается метод println, передавая ему текстовую строку в качестве параметра. Метод выводит этот текст на консоль, выполняя переход на следующую строку. В языке Java, как и в языке C/C++, для разделения строк используются двойные кавычки.

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

5.3 Eclipse

Eclipse представляет собой основанную на Java расширяемую платформу разработки с открытым исходным кодом. По сути - это просто среда разработки и набор сервисов для построения приложений на основе встраиваемых компонентов (плагинов). К счастью, в составе Eclipse имеется стандартный набор плагинов, в том числе хорошо известный инструментарий - Java Development Tools (JDT).

В то время как большинство пользователей, применяющих Eclipse в качестве интегрированной среды разработки Java (IDE), вполне им довольны, возможности его гораздо шире [25]. Eclipse также включает в себя среду разработки плагинов (PDE), которая в первую очередь заинтересует тех, кто хочет расширить сам Eclipse, так как позволяет создавать свои инструменты, встраиваемые в среду Eclipse. Поскольку Eclipse полностью состоит из плагинов, у всех разработчиков инструментариев имеется возможность предложить свои расширения к Eclipse и предоставить пользователям последовательную и цельную интегрированную среду разработки (IDE).

Эта целостность и последовательность характерны не только для инструментов Java-разработки. Хотя Eclipse написан на Java, использовать его можно и с другими языками. Структура Eclipse может также использоваться как основа для других типов приложений, не имеющих отношения к разработке ПО, например, систем управления контентом.

Великолепным примером приложения на основе Eclipse является ПО IBM Rational Software Architect, которое легло в основу семейства инструментов IBM для разработки на Java.

Eclipse - это сообщество разработчиков открытого исходного кода, чьи проекты нацелены на построение открытой платформы для разработки, состоящей из расширяемых среды разработки, инструментария и библиотек времени выполнения для построения, развёртывания и управления программным обеспечением в период его жизненного цикла. Фонд Eclipse (Eclipse Foundation) - это некоммерческое поддерживаемое участниками объединение, которое содержит проекты Eclipse и помогает совершенствовать сообщество разработчиков открытого исходного кода и "экосистему" дополняющих друг друга продуктов и сервисов.

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

Рабочее пространство Eclipse состоит из нескольких панелей, называемых представлениями, например навигационное или схематическое представления (navigator or outline views). Набор таких представлений называется перспективой. Одна из наиболее распространённых перспектив - перспектива Ресурсы (Resource), которая представляет собой базовый набор представлений для управления проектами и просмотра, а также редактирования файлов проекта.

Платформа Eclipse содержит мощный набор плагинов, которые поддерживают проекты, такие как JDT и PDE. Рассмотрим упрощенную архитектуру платформы Eclipse.

Тёмно-синие блоки обозначают компоненты, являющиеся центральной частью платформы функционально насыщенных клиентов (Rich Client Platform - RCP) в Eclipse. Сама концепция RCP - это просто набор плагинов из Eclipse, который люди могут использовать в разработке приложений. Светло-голубые блоки представляют необязательные (хотя и рекомендуемые) компоненты для включения в приложения на базе RCP. А серые блоки - совершенно необязательны. Платформа состоит из нескольких компонентов, рассмотрим некоторые из них:

Runtime - это код, который определяет модель плагинов Eclipse, основанную на спецификации OSGi, а также на представлении о расширениях и точках расширения. Runtime также предоставляет дополнительные сервисы, такие как ведение системного журнала и параллелизм.

Пакет инструментов Standard Widget Toolkit (SWT) представляет собой набор виджетов, отвечающих за пользовательский интерфейс и функции Eclipse. JFace - это просто надстройка над SWT, предоставляющая несколько классов Model-View-Controller (MVC) для облегчения разработки графических приложений.

Workbench - рабочее пространство придаёт Eclipse его индивидуальность. Именно на этом уровне реализована концепция представлений, перспектив и таких вещей как окна редактирования.

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

Компонент update предоставляет в Eclipse средства, позволяющие обновлять приложения с одной версии на другую.

Компонент team - это инфраструктура, позволяющая фирмам-разработчикам подключать свои собственные системы управления версиями. Образцом реализации провайдера является плагин CVS, встроенный в Eclipse.

Из первоначального кода, написанного компанией IBM, Eclipse перерос в полнофункциональную экосистему с открытым исходным кодом, в которой участвует более 100 компаний. Переносимая, расширяемая инфраструктура с открытым исходным кодом - уже не новая идея, но благодаря хорошо продуманному, надёжному и элегантному дизайну, Eclipse приобретает абсолютно новую динамику.

5.4 Типы данных и операторы в Java

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

В языке Java используются базовые типы данных, значения которых размещаются в стековой памяти (stack). Эти типы обеспечивают более высокую производительность вычислений по сравнению с объектами. Кроме этого, для каждого базового типа имеются классы-оболочки, которые инкапсулируют данные базовых типов в объекты, располагаемые в динамической памяти (heap) [18].

Определено восемь базовых типов данных, размер каждого из которых остается неизменным независимо от платформы: boolean, byte, char, short, int, long, float, double. Без знаковых типов в Java не существует. Каждый тип данных определяет множество значений и их представление в памяти. Для каждого типа определен набор операций над его значениями.

В Java используются целочисленные литералы, по умолчанию относятся к типу int. Если необходимо определить длинный литерал типа long, в конце указывается символ L. Если значение числа больше значения, помещающегося в int, то Java автоматически предполагает, что оно типа long. Литералы с плавающей точкой записываются в виде 1.618 или в экспоненциальной форме 0.112E-05 и относятся к типу double, таким образом, действительные числа относятся к типу double. Если необходимо определить литерал типа float, то в конце литерала следует добавить символ F.

К литералам относятся булевские значения true и false, а также null - значение по умолчанию для ссылки на объект. При инициализации строки всегда создается объект класса String - это не массив символов и не строка. Строки, заключенные в двойные апострофы, считаются литералами и размещаются в пуле литералов, но в то же время такие строки представляют собой объекты.

Операторы Java практически совпадают с операторами C++ и имеют такой же приоритет [26]. Операторы делятся на: арифметические операторы, битовые операторы над целочисленными типами, операторы отношения, логические операторы.

Кроме базовых типов данных, в языке Java широко используются соответствующие классы-оболочки (wrapper-классы) из пакета java.lang: Boolean, Character, Integer, Byte, Short, Long, Float, Double. Объекты этих классов могут хранить те же значения, что и соответствующие им базовые типы. Объекты этих классов представляют ссылки на участки динамической памяти, в которой хранятся их значения, и являются классами-оболочками для значений базовых типов. Классы, соответствующие числовым базовым типам, находятся в библиотеке java.lang, являются наследниками абстрактного класса Number и реализуют интерфейс Comparable.

5.5 Классы и методы в Java

Базовым элементом объектно-ориентированного программирования в языке Java является класс. Напомним, что классы в Java не обязательно должны содержать метод main. Единственное назначение этого метода - указать интерпретатору Java, откуда надо начинать выполнение программы. Для того, чтобы создать класс, достаточно иметь исходный файл, в котором будет присутствовать ключевое слово class, и вслед за ним - допустимый идентификатор и пара фигурных скобок для его тела.

class Point {

}

Имя исходного файла Java должно соответствовать имени хранящегося в нем класса. Регистр букв важен и в имени класса, и в имени файла.

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

class имя_класса extends имя_суперкласса { type переменная1_объекта:

type переменная2_объекта:

type переменнаяN_объекта:

type имяметода1(список_параметров) { тело метода;

}

type имяметода2(список_параметров) { тело метода;

}

type имя методаМ(список_параметров) { тело метода;

} }

Ключевое слово extends указывает на то, что "имя_класса" - это подкласс класса "имя_суперкласса". Во главе классовой иерархии Java стоит единственный ее встроенный класс - Object. Если нужно создать подкласс непосредственно этого класса, ключевое слово extends и следующее за ним имя суперкласса можно опустить - транслятор включит их в определение автоматически. Примером может служить класс Point, приведенный ранее.

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

class Point { int х, у;

}

Оператор new создает экземпляр указанного класса и возвращает ссылку на вновь созданный объект. Ниже приведен пример создания и присваивание переменной р экземпляра класса Point. Point р = new Point();

Можно создать несколько ссылок на один и тот же объект.

Методы - это подпрограммы, присоединенные к конкретным определениям классов. Они описываются внутри определения класса на том же уровне, что и переменные объектов. При объявлении метода задаются тип возвращаемого им результата и список параметров. Общая форма объявления метода такова:

тип имя_метода (список формальных параметров) {

тело метода:

}

Тип результата, который должен возвращать метод может быть любым, в том числе и типом void - в тех случаях, когда возвращать результат не требуется. Список формальных параметров - это последовательность пар тип-идентификатор, разделенных запятыми. Если у метода параметры отсутствуют, то после имени метода должны стоять пустые круглые скобки.

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

Язык Java позволяет создавать несколько методов с одинаковыми именами, но с разными списками параметров. Такая техника называется совмещением методов (method overloading).

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

class Point { int х, у;

Point(int х, int у) {

this.x = х;

this.у = у;

}

Point() {

х = -1;

у = -1;

} }

class PointCreateAlt {

public static void main(String args[]) {

Point p = new Point();

System.out.println("x = " + p.x + " у = " + p.y);

} }

В этом примере объект класса Point создается не при вызове первого конструктора, как это было раньше, а с помощью второго конструктора без параметров. Вот результат работы этой программы:

С:\> java PointCreateAlt

х = -1 у = -1

5.6 Объектно-ориентированное программирование в Java

Java - это так называемый объектно-ориентированный язык, при помощи которого можно заниматься объектно-ориентированным программированием (ООП). Такой стиль программирования очень отличается от процедурного программирования и может показаться немного странным для большинства программистов, не сталкивавшихся с ООП. Прежде всего, надо понять, что такое объект; именно на этом понятии базируется ООП [16].

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

Когда один объект вызывает метод другого объекта, это называется передачей сообщения. Эта фраза соответствует ОО - терминологии, но чаще всего в Java-мире говорят "Вызвать этот метод".

Предположим, что есть объект "Человек". Каждый объект "Человек" имеет имя, возраст, национальность и пол. Каждый объект "Человек" знает, как говорить и ходить. Один объект может спросить у другого о его возрасте, или может сказать, чтобы другой объект начал (или закончил) перемещение. В терминах программирования вы можете создать объект Person и назначить ему некоторые переменные (например, имя и возраст). Если создать второй объект Person, он может спросить у первого его возраст или сказать ему начать перемещение. Он может сделать это путем вызова методов первого объекта Person.

Обычно концепция объекта остается неизменной и в языке Java и в других объектно-ориентированных языках программирования, хотя реализуют они ее по-разному. Эта концепция универсальна [27]. По этой причине объектно-ориентированные программисты, независимо от применяемого ими языка, общаются не так, как процедурные программисты. Процедурные программисты часто говорят о функциях и модулях. Объектно-ориентированные программисты говорят об объектах и часто говорят о них, используя личные местоимения.

Существует три фундаментальных принципа: Polymorphism (Полиморфизм), Inheritance (Наследование),Encapsulation (Инкапсуляция).

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

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

При вашем рождении, говоря с биологической точки зрения, вы являлись комбинацией ДНК ваших родителей. Вы не были точной копией ни одного из них, но были похожи на обоих. ОО использует для объектов этот же принцип.

В терминах ООП "Человек" и "Ребенок" являются классами в одной иерархии и "Ребенок" наследует характеристики и поведение от своего родителя. Каждый объект "Ребенок" является экземпляром класса "Ребенок", и когда создается объект "Ребенок", создается его экземпляр.

В терминах Java "Человек" - это суперкласс класса "Ребенок". Еще одной концепцией, связанной с наследованием, является абстракция. "Человек" находится на более высоком уровне абстракции, чем "Ребенок". "Человек", в терминах Java, является абстрактным классом. Вы не можете иметь прямой экземпляр класса Человек.

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

Однако язык программирования Java также предоставляет каждому программисту инструменты, необходимые для следования всем правилам ООП и создания очень хорошего объектно-ориентированного кода. Но это требует некоторой дисциплины. Язык Java позволяет писать понятные, относительно лаконичные и управляемые программы, которые достаточно хороши для большинства профессиональных ситуаций [18].

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

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

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

5.7 Ввод-вывод в Java

Обобщенное понятие источника ввода относится к различным способам получения информации: к чтению дискового файла, символов с клавиатуры, либо получению данных из сети. Аналогично, под обобщенным понятием вывода также могут пониматься дисковые файлы, сетевое соединение и т.п. Эти абстракции дают удобную возможность для работы с вводом-выводом, не требуя при этом, чтобы каждая часть вашего кода понимала разницу между, скажем, клавиатурой и сетью [26]. В Java эта абстракция называется потоком (stream) и реализована в нескольких классах пакета java.io. Ввод инкапсулирован в классе InputStream, вывод - в OutputStream. В Java есть несколько специализаций этих абстрактных классов, учитывающих различия при работе с дисковыми файлами, сетевыми соединениями и даже с буферами в памяти.

File - единственный объект в java.io, который работает непосредственно с дисковыми файлами. Каталог в Java трактуется как обычный файл, но с дополнительным свойством - списком имен файлов, который можно просмотреть с помощью метода list.

Для определения стандартных свойств объекта в классе File есть много разных методов. Однако, класс File несимметричен. Есть много методов, позволяющих узнать свойства объекта, но соответствующие функции для изменения этих свойств отсутствуют. В примере используются различные методы, позволяющие получить характеристики файла:

import java.io.File;

class FileTest {

static void p(String s) {

System.out.println(s);

} public static void main(String args[]) {

File f1 = new File("/java/COPYRIGHT");

p("File Name:" + f1 .getName());

p("Path:" + f1.getPath());

p("Abs Path:" + f1.getAbsolutePath());

p("Parent:" + f1.getParent());

p(f1.exists() ? "exists" : "does not exist");

p(f1.canWrite() ? "is writeable" : "is not writeable");

p(f1.canRead() ? "is readable" : "is not readable");

p("is " + (f1.isDirectory() ? " " : "not") + " a directory");

p(f1.isFile() ? "is normal file" : "might be a named pipe");

p(f1.isAbsolute() ? "is absolute" : "is not absolute");

p("File last modified:" + f1. lastModified());

p("File size:" + f1.length() + " Bytes");

} }

InputStream - абстрактный класс, задающий используемую в Java модель входных потоков. Все методы этого класса при возникновении ошибки возбуждают исключение IOException. Ниже приведен краткий обзор методов класса InputStream.

ь Read() возвращает представление очередного доступного символа во входном потоке в виде целого.

ь Read(byte b[]) пытается прочесть максимум b.length байтов из входного потока в массив b. Возвращает количество байтов, в действительности прочитанных из потока.

ь Read(byte b[], int off, int len) пытается прочесть максимум len байтов, расположив их в массиве b, начиная с элемента off. Возвращает количество реально прочитанных байтов.

ь Skip(long n) пытается пропустить во входном потоке n байтов. Возвращает количество пропущенных байтов.

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

ь Close() закрывает источник ввода.

ь Mark(int readlimit) ставит метку в текущей позиции входного потока, которую можно будет использовать до тех пор, пока из потока не будет прочитано readlimit байтов.

ь Reset() возвращает указатель потока на установленную ранее метку.

ь MarkSupported() возвращает true, если данный поток поддерживает операции mark/reset.

Как и InputStream, OutputStream - абстрактный класс. Он задает модель выходных потоков Java. Все методы этого класса имеют тип void и возбуждают исключение IOException в случае ошибки. Ниже приведен список методов этого класса:

ь write(int b) записывает один байт в выходной поток. Обратите внимание - аргумент этого метода имеет тип int, что позволяет вызывать write, передавая ему выражение, при этом не нужно выполнять приведение его типа к byte;

ь write(byte b[]) записывает в выходной поток весь указанный массив байтов;

ь write(byte b[], int off, int len) записывает в поток часть массива - len байтов, начиная с элемента b[off];

ь flush() очищает любые выходные буферы, завершая операцию вывода;

ь close() закрывает выходной поток.

Класс FileInputStream используется для ввода данных из файлов.

У класса FileOutputStream - два таких же конструктора, что и у FileInputStream. Однако, создавать объекты этого класса можно независимо от того, существует файл или нет.

ByteArrayInputStream - это реализация входного потока, в котором в качестве источника используется массив типа byte.

StringBufferInputStream идентичен классу ByteArrayInputStream с тем исключением, что внутренним буфером объекта этого класса является экземпляр String, а не байтовый массив.

Все конструкторы и методы, имеющиеся в этом классе, идентичны тем, которые есть в классах InputStream и OutputStream, единственное отличие классов фильтруемых потоков в том, что их методы синхронизованы.

Заключение

Учебный процесс требует постоянного совершенствования. Это связано со сменой приоритетов и социальных ценностей. Научно-технический прогресс все больше осознается как средство достижения такого уровня производства, который в наибольшей мере отвечает удовлетворению постоянно повышающихся потребностей человека, развитию духовного богатства личности. Поэтому современная ситуация в подготовке специалистов требует постоянного изменения, а точнее, усовершенствования стратегии и тактики обучения в вузе. Главными характеристиками выпускника любого образовательного учреждения являются его компетентность и мобильность.

Для данного курса подбирались наиболее важные темы, знания которых пригодятся студентам в их дальнейшей работе. Очевидно, что не возможно за столь короткое время, которое выделяется для данного курса, изучить все досконально. Знания, полученные в процессе изучения, являются необходимым минимумом.

В ходе дипломной работы были рассмотрены три основных раздела: JavaScript, PHP и MySQL, Java. Для изучения данных тем курсом предусмотрены лекции, семинары и лабораторные работы.

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

Для каждой темы в дипломной работе разработан курс лабораторных работ и методика их преподавания. В лабораторных работах по JavaScript основной упор делается на объяснение темы, приводится большое количество примеров. Задача студентов разобраться и запомнить.

В теме PHP главным является непосредственно самостоятельная работа студентов. Лабораторные работы содержат теорию и примеры, на основе которых студенты разрабатывают свои проекты.

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

В результате изучения дисциплины специалист должен знать:

- основные понятия ИТ;

- основные понятия баз данных;

- клиент-серверную архитектуру Web-приложения.

Разработанный учебно-методический комплекс рекомендуется преподавать студентам ВУЗа по курсу ИТ предусмотренного программой.

В результате изучения данного курса специалист овладеет:

- навыками программирования в JavaScript;

- навыками программирования на Java;

- навыками программирования на PHP;

- навыками написания SQL-запросов.

Полученные навыки станут основой, необходимым минимумом, которым должен обладать квалифицированный специалист.

Список использованных источников

1. Шульга, С.Г. Учебная программа по курсу "Физические интернет-приложения" для специальности 1-31 04 01-04 (управленческая деятельность) / С.Г. Шульга. - УО ГГУ им.Ф. Скорины.- 2011. - 8 с.

2. International Business Machines [Electronic resource]/IBM. - Россия, 2011. - Режим доступа: ibm.com/ru. - Дата доступа: 20.02.2012.

3. Тематические Медиа [Электронный ресурс] /форум.- Россия, 2007. - Режим доступа: habrahabr.ru›Java. - Дата доступа: 20.02.2012.

4. Информационные технологии [Электронный ресурс] / Блог о программировании на Java.- Россия, 2010. - Режим доступа: http://www.javenue.info/. - Дата доступа: 10.05.2012.

5. Java EE Dev [Electronic resource] / Andrey Yasinetskiy@Software Development. - Россия,2009.- Режим доступа: http://topcode.ru/2009/09/26/obzor-russkoyazychnyx-resursov-po-java/. - Дата доступа: 15.05.2012.

6. Кох, С. Введение в JavaScript для мага / С. Кох. - М., 1997.

7. Гудман, Д. JavaScript / Д. Гудман. // Библия пользователя / Д. Гудман. - 4-е изд., - Диалектика, 2003. - 960 с.

8. Стефанов, С. JavaScript. Шаблоны / С. Стефанов. - М.: Символ-Плюс, 2011. - 272 с.

9. Дмитриева, М. JavaScript Быстрый старт / М. Дмитриева. - СПб.: БХВ - Петербург., 2002. - 336 с.

10. Рейсиг, Д. JavaScript Профессиональные приемы программирования / Д. Рейсинг. - П.: Питер, 2008. - 352 с.

11. Прохоренок, Н. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера / Н. Прохоренок. - СПб.: БХВ - Петербург., 2010. - 900 с.

12. Никсон, Р. Создаем динамические web-сайты с помощью PHP, MySQL и JavaScript / Р. Никсон. - П.: Питер, 2011. - 496 с.

13. PHP, SQL [Electronic resource] / блог. - Россия, 2010. - Режим доступа: http://phpsql.ru/. - Дата доступа: 13.04.2012.

14. Компьютер пресс [Электронный ресурс] / Все о технологиях. - Россия, 2012. - Режим доступа: http://www.compress.ru/. - Дата доступа: 05.04.2012.

15.Web технологии [Электронный ресурс] / Интернет технологии. - Россия, 2010. - Режим доступа: http://kek.ksu.ru/EOS/TESTS/index.html. - Дата доступа: 16.03.2012.

16.Портал знаний [Электронный ресурс] / Языки программирования. - Украина, 2008. - Режим доступа: http://www.znannya.org/?view=concept:983. - Дата доступа: 10.02.2012.

17. Электронная литература [Электронный ресурс] / Win-Web. - Россия, 2005. - Режим доступа: http://win-web.ru/. - Дата доступа: 12.04.2012.

18. Национальный открытый университет [Электронный ресурс] / Интернет-Университет Информационных Технологий. - Россия, 2003. - Режим доступа: http://www.INTUIT.ru. - Дата доступа: 10.03.2012.

19. Java форум JavaTalks [Электронный ресурс] / форум java программистов. - Россия, 2006. - Режим доступа: http://www.javatalks.ru/. - Дата доступа: 19.02.2012.

20. Мазуркевич, А. PHP: настольная книга программиста / А. Мазуркевич. - М.: Новое знание, 2003. - 480 с.

21. Томсон, Л. Разработка Web-приложений на РНР и MySQL/ Л. Томсон. - М.: ДиаСофтЮП, 2003. - 672 с.

22. PHPForum [Электронный ресурс] /форум.- Россия, 2003. - Режим доступа: http://phpforum.ru. - Дата доступа: 09.02.2012.

23. Харрис, Э. PHP/MySQL для начинающих / Э. Харрис. - М.: Кудиц - образ, 2005.

24. Парк, Д. PHP и MySQL. Библия программиста / Д. Парк, С. Суэринг. - Диалектика, 2010. - 912 с.

25. Шилдт, Г. Полный справочник по Java / Г. Шилдт. - М.:Вильямс, 2006.

26. Фролов, А.В. Программируем на Java / А.В. Фролов. - М.: Диалог-МИФИ, 1997.

27.Народ [Электронный ресурс] /Язык программирования Java. - Россия, 2006. - Режим доступа: http://progeru.narod.ru/java.html. - Дата доступа: 11.05.2012.

28. Смолкин, А. М. Методы активного обучения / А. М. Смолкин. - М.: Высшая школа, 1991.

29. Басова, Н.В. Педагогика и практическая психология / Н.В. Басова. -Ростов н/Д.: Феникс, 2000. -- 396 с.

30. Сатыбалдина, К.А. Проблемное обучение как основа формирования творческого мышления студентов / К.А. Сатыбалдина, Р.С. Тарасенко. - М.: Высшая школа, 1991.

Приложение

Примерный список тем курса "Интернет-технологии"

Тема 1. Общие сведения по JavaScript.

Тема 2. Структуру объектов в JavaScript.

Тема 3. Фреймы.

Тема 4. Окна и динамическое управление документами.

Тема 5. Строка состояния и таймеры.

Тема 6. Предопределенные объекты.

Тема 7. Объект Image.

Тема 8. Основы технологии Java.

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

Тема 10. Типы данных и операторы в Java.

Тема 11. Классы, методы и интерфейсы в Java.

Тема 12. Объектно-ориентированное программирование.

Тема 13. Ввод-вывод в Java.

Тема 14. Формы и понятие о CGI.

Тема 15. Введение в PHP. Данные в PHP.

Тема 16. Операторы PHP.

Тема 17. Обработка запросов с помощью PHP.

Тема 18. Функции в PHP.

Тема 19. Объекты и классы.

Тема 20. Работа с массивами данных. Строки.

Тема 21. Базы данных и СУБД. PHP и MySQL.

Тема 22. Доступ к базам данных. Современные интернет приложения и PHP.

Размещено на Allbest.ru


Подобные документы

  • Методология объектно-ориентированного программирования в Java. Понятия класса, объекта и объектной переменной. Динамическая и статическая объектные модели. Логическое структурирование приложения. Наследование в Java. Отличия интерфейсов от классов.

    курс лекций [547,2 K], добавлен 01.05.2014

  • История создания языка Java. Основные принципы объектно-ориентированного программирования. Структура, особенности синтаксиса и примеры прикладных возможностей использования языка Java, его преимущества. Перспективы работы программистом на языке Java.

    курсовая работа [795,9 K], добавлен 14.12.2012

  • Создание языка программирования с помощью приложения "Java". История названия и эмблемы Java. Обзор многообразия современных текстовых редакторов. Обработка строки. Методы в классе String. Java: задачи по обработке текста. Примеры программирования.

    курсовая работа [276,1 K], добавлен 19.07.2014

  • Выполнение Java-программы. Набор программ и классов JDK. Объектно-ориентированное программирование в Java. Принципы построения графического интерфейса. Компонент и контейнер графической системы. Апплеты как программы, работающие в среде браузера.

    курсовая работа [42,3 K], добавлен 08.02.2011

  • Описание и установка интегрированной среды разработки Eclipse. Описание языка Java. Описание классов и методов, пакетов, использованных в программе, сервера и клиента. Разработка руководства пользователя для клиента и сервера. Пример работы чата.

    курсовая работа [443,5 K], добавлен 18.05.2015

  • Объектно-ориентированное программирование в Java. Базовый класс Object – сравнение, описание, разрушение, строковое представление объектов, их синхронизация. Неизменяемые строки в Java – класс String. Работа с массивами. Конструкция try-catch-finally.

    лекция [306,3 K], добавлен 01.05.2014

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

    курсовая работа [1,0 M], добавлен 07.05.2009

  • Особенности работы с графическими изображениями Java Script. Способы динамического управления слоями. Рассмотрение примеров использования операторов цикла. Характеристика свойств объекта form: encoding, elements, checkbox. Возможности документов HTML.

    курсовая работа [167,7 K], добавлен 09.02.2013

  • Java Script как язык управления сценарием отображения документа. Отличие world wide web от остальных инструментов для работы с Internet. Использование каскадных таблиц стилей в рамках разработки спецификации HTML. Элементы программы Netscape Navigator.

    контрольная работа [1,1 M], добавлен 02.12.2009

  • Анализ объектно-ориентированной технологии программирования на примере языка Java. Методы, инструменты разработки web-приложений. Применение их при создании Интернет-магазина для ООО "Компас". Разработка апплета для его страницы в виде стрелочных часов.

    курсовая работа [2,7 M], добавлен 31.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.