Презентация 01. Введение. Лексика языка Java онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему 01. Введение. Лексика языка Java абсолютно бесплатно. Урок-презентация на эту тему содержит всего 68 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » 01. Введение. Лексика языка Java
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:68 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:375.00 kB
- Просмотров:66
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№6 слайд
![История Java JDK . JLS, JVM,](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img5.jpg)
Содержание слайда: История Java
1996 – JDK 1.0 (JLS, JVM, JDK)
1997 – JDK 1.1 (JIT, JavaBeans, JDBC, RMI)
1998 – JDK 1.2 (изменения языка, policy/permission, JFC, …)
1999 – разделение развития
Java 2 Platform, Standard Edition (J2SE, JavaSE)
Java 2 Platform, Enterprise Edition (J2EE, JavaEE)
Java 2 Platform, Micro Edition (J2ME, JavaME)
2000 – JDK 1.3 (HotSpot (JIT) в составе JVM, …)
2002 – JDK 1.4 (новое API)
2004 – JDK 1.5 (изменения языка)
2006 – JDK 1.6 (скриптовые языки, работа с базами данных…)
2011 – JDK 1.7 (изменения языка…)
№8 слайд
![Java платформа Множество](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img7.jpg)
Содержание слайда: Java платформа
Множество различных аппаратных систем
Intel x86, Sun SPARC, PowerPC и др.
Множество разных программных систем
MS Windows, Sun Solaris, Linux, Mac OS и др.
Потребность в одинаковом функционале на различных платформах
Java Virtual Maсhine (JVM), универсальность
Исходный код открыт с 1999 г.
№9 слайд
![Именование установочных](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img8.jpg)
Содержание слайда: Именование установочных файлов
Старый вариант
jdk-1_5_0_08-windows-i586-p.exe
1 – глобальная версия языка
5 – номер версии языка
0 – номер подверсии
08 – номер модификации
windows-i586 – платформа
Новый вариант
jdk-6u14-windows-i586.exe
6 – номер версии языка
14 – номер модификации
windows-i586 – платформа
№11 слайд
![Этапы программного решения](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img10.jpg)
Содержание слайда: Этапы программного решения задачи
Создание модели, определение данных для предстоящей обработки
Разработка алгоритма: определение операций над данными и последовательности шагов по преобразованию текущего состояния модели в следующее
Формулировка модели и алгоритма на языке программирования
№14 слайд
![Основные принципы](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img13.jpg)
Содержание слайда: Основные принципы
Инкапсуляция
объединение данных и методов их обработки в одну сущность, приводящее к сокрытию реализации класса и отделению его внутреннего представления от внешнего
Наследование
отношение между классами, при котором один класс использует структуру или поведение другого (одиночное наследование) или других (множественное наследование) классов
Полиморфизм
способность объекта соответствовать во время выполнения двум или более возможным типам
№15 слайд
![Отношения между классами](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img14.jpg)
Содержание слайда: Отношения между классами
Наследование
Объекты дочернего класса наследуют свойства родительского класса
Ассоциация
Объекты классов вступают во взаимодействие между собой
Агрегация
Объекты разных классов образуют целое, оставаясь самостоятельными
Композиция
Объекты одного класса входят в объекты другого, не обладая самостоятельностью
Класс-метакласс
Экземплярами класса являются классы
№16 слайд
![Достоинства ООП Упрощение](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img15.jpg)
Содержание слайда: Достоинства ООП
Упрощение разработки
Разделение функциональности, локализация кода, инкапсуляция
Возможность создания расширяемых систем
Обработка разнородных структур данных, изменение поведения на этапе выполнения, работа с наследниками
Легкость модернизации с сохранением совместимости
№20 слайд
![Функциональность пакетов](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img19.jpg)
Содержание слайда: Функциональность пакетов
Позволяют группировать взаимосвязанные классы и интерфейсы в единое целое
Способствуют созданию пространств имен, позволяющих избежать конфликтов идентификаторов, относящихся к различным типам
Обеспечивают дополнительные средства защиты элементов кода
Формируют иерархическую систему
№21 слайд
![Способы реализации и доступ к](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img20.jpg)
Содержание слайда: Способы реализации
и доступ к пакетам
Пакеты могут быть реализованы:
в виде структуры каталогов с файлами классов,
в виде jar-архива.
Путь к используемым пакетам указывается:
непосредственно при запуске JVM,
через переменную окружения CLASSPATH
(по умолчанию CLASSPATH="").
№24 слайд
![Понятие модуля компиляции](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img23.jpg)
Содержание слайда: Понятие модуля компиляции
Модуль компиляции хранится в .java файле и является единичной порцией входных данных для компилятора.
Состоит из:
объявления пакета
package mypackage;
выражений импортирования
import java.net.Socket;
import java.io.*;
объявлений верхнего уровня – классов и интерфейсов
№25 слайд
![Объявление пакета Первое](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img24.jpg)
Содержание слайда: Объявление пакета
Первое выражение в модуле компиляции (например, для файла java/lang/Object.java)
package java.lang;
При отсутствии объявления пакета модуль компиляции принадлежит безымянному пакету (не имеет вложенных пакетов)
Пакет доступен, если доступен модуль компиляции с объявлением пакета
Ограничение на доступ к пакетам нет
№26 слайд
![Выражения импорта Доступ к](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img25.jpg)
Содержание слайда: Выражения импорта
Доступ к типу из данного пакета – по простому имени типа
Доступ к типу из других пакетов – по составному имени пакета и имени типа
сложности при многократном использовании
import-выражения упрощают доступ
импорт одного типа (import java.net.URL;)
импорт пакета с типами (import java.net.*;)
№28 слайд
![Выражения импорта Алгоритм](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img27.jpg)
Содержание слайда: Выражения импорта
Алгоритм компилятора при анализе типов:
выражения, импортирующие типы
другие объявленные типы
выражения, импортирующие пакеты
Если тип импортирован явно невозможны:
объявление нового типа с таким же именем
доступ по простому имени к одноименному типу в текущем пакете
№29 слайд
![Выражения импорта Импорт](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img28.jpg)
Содержание слайда: Выражения импорта
Импорт пакета не мешает объявлять новые типы или обращаться к имеющимся типам текущего пакета по простым именам
поиск типа сначала в текущем пакете
Импорт конкретных типов дает возможность при прочтении кода сразу понять, какие внешние типы используются
но эти типы могут и не использоваться
№31 слайд
![Объявление верхнего уровня В](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img30.jpg)
Содержание слайда: Объявление верхнего уровня
В модуле компиляции может быть максимум один public тип
Имя публичного типа и имя модуля компиляции должны совпадать
Другие не-public типы модуля должны использоваться только внутри текущего пакета
Как правило, один модуль компиляции содержит один тип
№32 слайд
![Правила именования Пакеты](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img31.jpg)
Содержание слайда: Правила именования
Пакеты
java.lang, javax.swing, ru.ssau.infokom
Типы
Student, ArrayIndexOutOfBoundException
Cloneable, Runnable, Serializable
Поля
value, enabled, distanceFromShop
Методы
getValue, setValue, isEnabled, length, toString
Поля-константы
PI, SIZE_MIN, SIZE_MAX, SIZE_DEF
Локальные переменные
№36 слайд
![Исходный код Исходный код](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img35.jpg)
Содержание слайда: Исходный код
Исходный код разделяется на:
Пробелы
ASCII-символ SP, \u0020, дес. код 32
ASCII-символ HT, \u0009, дес. код 9
ASCII-символ FF, \u000c, дес. код 12
ASCII-символ LF, символ новой строки
ASCII-символ CR, возврат каретки
символ CR, за которым сразу следует символ LF
Комментарии
Лексемы
№41 слайд
![Служебные ключевые слова](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img40.jpg)
Содержание слайда: Служебные (ключевые) слова
abstract double int strictfp
boolean else interface super
break extends long switch
byte final native synchronized
case finally new this
сatch float package throw
char for private throws
class goto protected transient
const if public try
continue implements return void
default import short volatile
do instanceof static while
№42 слайд
![Типы данных Ссылочные](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img41.jpg)
Содержание слайда: Типы данных
Ссылочные
Предназначены для работы с объектами
Переменные содержат ссылки на объекты
Ссылка – это не указатель!
Тип переменной определяет контракт доступа к объекту
Примитивные (простые)
Предназначены для работы со значениями естественных, простых типов
Переменные содержат непосредственно значения
№44 слайд
![Примитивные типы Булевский](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img43.jpg)
Содержание слайда: Примитивные типы
Булевский (логический) тип
boolean – допускает хранение значений true или false
Целочисленные типы
char – 16-битовый символ Unicode
byte – 8-битовое целое число со знаком
short – 16-битовое целое число со знаком
int – 32-битовое целое число со знаком
long – 64-битовое целое число со знаком
Вещественные типы
float – 32-битовое число с плавающей точкой (IEEE 754-1985)
double – 64-битовое число с плавающей точкой (IEEE 754-1985)
№49 слайд
![Поля класса Модификаторы](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img48.jpg)
Содержание слайда: Поля класса
Модификаторы полей:
модификаторы доступа
static
поле статично (принадлежит контексту класса)
final
поле не может изменять свое значение после инициализации
transient
поле не сериализуется (влияет только на механизмы сериализации)
volatile
усиливает требования к работе с полем в многопоточных программах
№52 слайд
![Модификаторы методов](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img51.jpg)
Содержание слайда: Модификаторы методов
synchronized
синхронизированность метода (особенности вызова метода в многопоточных приложениях)
native
«нативность» метода (тело метода не описывается, при вызове вызывается метод из native-библиотеки)
strictfp
повышенные требования к операциям с плавающей точкой
№53 слайд
![Особенности методов Для](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img52.jpg)
Содержание слайда: Особенности методов
Для нестатических методов вызов через ссылку на объект или в контексте объекта
reference.method();
methodReturningReference().method();
Для статических методов вызов через имя типа, через ссылку на объект или в контексте класса
ClassName.staticMethod();
reference.staticMethod();
staticMethodReturningReference().method();
Наличие круглых скобок при вызове обязательно, т.к. они являются оператором вызова метода
№54 слайд
![Особенности методов На время](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img53.jpg)
Содержание слайда: Особенности методов
На время выполнения метода управление передается в тело метода
Возвращается одно значение простого или объектного типа
return someValue;
Аргументы передаются по значению, т.е. значения параметров копируются в стек:
для примитивных типов копируются сами значения
для ссылочных типов копируется значение ссылки
Перегруженными являются методы с одинаковыми именами и различными сигнатурами
№57 слайд
![Конструкторы Для](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img56.jpg)
Содержание слайда: Конструкторы
Для конструкторов разрешено использование только модификаторов доступа
При написании конструктор не имеет возвращаемого типа
Оператор возврата return прекращает выполнение текущего конструктора
Конструкторы могут быть перегружены
Конструкторы могут вызывать друг друга с помощью ключевого слова this в первой строке конструктора
№58 слайд
![Конструкторы Если в классе](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img57.jpg)
Содержание слайда: Конструкторы
Если в классе явно не описан ни один конструктор, автоматически создается т.н. конструктор по умолчанию, не имеющий параметров
Если в классе описан хотя бы один конструктор, то автоматически конструктор по умолчанию не создается
Также конструктором по умолчанию называют конструктор, не имеющий параметров
№60 слайд
![Деструкторы? В ряде языков](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img59.jpg)
Содержание слайда: Деструкторы?
В ряде языков деструкторы выполняют действия, обратные действию конструкторов: освобождают память, занимаемую объектом, и «деинициализируют» объект (освобождают ресурсы, очищают связи, изменяют состояние связанных объектов)
Если после вызова деструктора где-то осталась ссылка (указатель) на объект, ее использование приведет к возникновению ошибки
В Java деструкторов нет, вместо них применяется механизм автоматической сборки мусора
№61 слайд
![Автоматическая сборка мусора](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img60.jpg)
Содержание слайда: Автоматическая сборка мусора
В случае нехватки памяти для создания очередного объекта виртуальная машина находит недостижимые объекты и удаляет их
Процесс сборки мусора можно инициировать принудительно
Для явного удаления объекта следует утратить все ссылки на этот объект и инициировать сбор мусора
Взаимодействие со сборщиком осуществляется через системные классы java.lang.System и java.lang.Runtime
№62 слайд
![Блоки инициализации Если](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img61.jpg)
Содержание слайда: Блоки инициализации
Если некоторые действия по инициализации должны выполняться в любом варианте создания объекта, удобнее использовать блоки инициализации
Тело блока инициализации заключается в фигурные скобки и располагается на одном уровне с полями и методами
При создании объекта сначала выполняются инициализирующие выражения полей и блоки инициализации (в порядке их описания в теле класса), а потом тело конструктора
№68 слайд
![Дополнительные источники](/documents_6/6de4572292263f8a259b228bc5b1dbdd/img67.jpg)
Содержание слайда: Дополнительные источники
Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс», 2001. – 624 с.
Вязовик, Н.А. Программирование на Java. Курс лекций [Текст] / Н.А. Вязовик. – М. : Интернет-университет информационных технологий, 2003. – 592 с.
Хорстманн, К. Java 2. Библиотека профессионала. Том 1. Основы [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 816 с.
Эккель, Б. Философия Java [Текст] / Брюс Эккель. – СПб. : Питер, 2011. – 640 с.
JavaSE at a Glance [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/overview/index.html, дата доступа: 21.10.2011.
JavaSE APIs & Documentation [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/documentation/api-jsp-136079.html, дата доступа: 21.10.2011.
Скачать все slide презентации 01. Введение. Лексика языка Java одним архивом:
Похожие презентации
-
Основы языка Java. Введение в Web-технологии Java SE, Java EE, Java ME
-
Язык Java: история появления и развития, архитектура и основные понятия, лексика языка
-
Лексика языка Java. (Лекция 3)
-
Основы программирование: Введение в Java. Коллекции
-
Обучающая программа «Основы языка программирования Java»
-
Основные конструкции языка Java. Лекция 6
-
Введение в объекты Java
-
Основные конструкции языка Java
-
Алфавит и лексика языка программирования. Структура программы. Лекция 7
-
Язык Javascript. Краткое введение в Javascript