SlideShare a Scribd company logo
1 of 70
Введение в язык
программирования «Java»
Виталий Унгурян
unguryan@itstep.org
Разработка ПО
ПО – это программное обечпечение
призванное решить определенную
проблему путем автоматизации
процесса.
Этапы разработки ПО
Разработка
системных
требований
Разработка
требований
к ПО
Анализ
Проектирование
Кодирование
Тестирование
Сопровождение
История развития java
1990 год.
Молодой и
талантливый
программист
Патрик Нотон и
Скот Маккнили
его начальник.
История развития
Скотт Макнили
пошел на смелый шаг, собрав все
средства и всех самых
талантливых сотрудников
компании, в один новый
иновационный на то время проект
под кодовым названием «Green».
История развития
1991 год
Команда проекта «Green»- среди
которой были Патрик Нотон, Билл
Джой, Джеймс Гослинг- начинают
работу над компьютером и
программным обеспечением
которым сможет воспользоваться
простой человек.
В начале был С++
1991 год
За разработку
компилятора
отвечал
Джеймс Гослинг
В начале был С++
Чтобы не связывать разработку с
конкретной платформой, Гослинг начал
с расширения компилятора С++. Но со
временем, он понял, что один С++, как
его ни расширяй, не сможет
удовлетворить все потребности,
поэтому в середине 1991 года был
задуман язык Oak.
История развития
Oak («Дуб»)
разрабатывался для
программирования бытовых
электронных устройств.
Впоследствии он был переименован в
Java и стал использоваться для
написания клиентских приложений и
серверного программного обеспечения.
История название языка
Есть версия, что язык назван в
честь марки кофе Java, поэтому
на официальной эмблеме Языка
изображена чашка с парящим
кофе.
История название языка
Существует и другая версия
происхождения названия языка,
связанная с аллюзией на кофе-
машину, как пример бытового
устройства, для программирования
которого изначально создавался
язык.
История развития - обращение к Web
1994 год
Нотон и его коллега Джонатан Пэйн
закончили писать WebRunner -
Web-браузер,
написанный на языке Java.
Эта первая реализация HotJava
Проджажа Oracle
2009 год. Американская компания
Oracle, приобретет компанию Sun
Microsystems за 5,6 миллиарда
долларов.
Фото ведущих программистов проекта Green
Команда проекта Green
Java архитектура
Исходный код
Исходный код — это набор
команд и операций
предназначеных для
выполнение вычислительных
операций.
Компилятор кода
Компилятор — преобразует
исходный код программы в
специальный байт код.
Компилятор кода
Виртуальная машина
Java Virtual Machine
(сокращенно JVM) — виртуальная
машина Java — это спецификация,
описывающая как должна работать
java машина, в которой могут
выполнятся приложения на java.
Java машина
Реализация JVM — это основная
часть исполняющей системы Java,
также называемой Java Runtime
Environment (JRE).
Java машина
Релизация Java машины
интерпретирует (пошагово
выполняет) байт-код Java,
предварительно
скомпилированный из
исходного кода Java -
компилятором Java (javac).
Состав JVM
 java – интерпретатор байт-кода;
 Куча (heap) – нераспределенная область
динамической памяти для размещения
объектов;
 Сборшик мусора (Garbage Collector, GC) –
постоянно действующий код, освобождает
неиспользуемые куски памяти;
 Стэк - структура данных, используемая для
передачи параметров при вызове
подпрограмм.
Байт код
Байт код - набор
инструкций,
исполняемых
виртуальной
машиной Java.
Каждый код операции байт-кода — один байт.
Используются не все 256 возможных значений кодов
операций. 51 из них зарезервированы для
использования в будущем.
JSE
JDK
Java Development Kit
(сокращенно JDK) — бесплатно
распространяемый компанией
Oracle Corporation комплект для
разработчика приложений на языке
Java.
JDK
JDK включает в себя:
•компилятор Java (javac),
•стандартные библиотеки классов,
•примеры,
•документацию,
•различные утилиты,
•исполнительную систему Java (JRE).
JRE
Java Runtime Environment
(сокр. JRE; среда выполнения для
Java) — минимальная реализация
виртуальной машины, необходимая для
исполнения Java-приложений, без
компилятора и других средств
разработки.
Состоит из Java машины и библиотеки
Java-классов.
Версии JDK
JDK 1.0 (23 января 1996) Кодовое имя
Lucatjuh. Первый выпуск. Первой
стабильной версией стала JDK 1.0
JDK 1.1 (19 февраля 1997)
J2SE 1.2 (8 декабря 1998) Кодовое имя
Playground.
Java 2, символизирует собой второе
поколение.
Версии
J2SE 1.3 (8 мая 2000) Кодовое имя Kestrel.
J2SE 1.4 (6 февраля 2002) Кодовое имя
Merlin.
J2SE 5.0 (30 сентября 2004) Кодовое
имя Tiger.
Java SE 6 (11 декабря 2006) Кодовое имя
Mustang.
Версии
Java SE 7 (7 июля 2011) кодовое
имя Dolphin.
Java SE 8 (18 марта 2014)
Java SE 9 ожидается в августе
2017 года
Алгоритмы
Алгоритм — это набор
инструкций, описывающих
порядок действий исполнителя
для достижения результата
решения задачи за конечное
число действий.
Линейный алгоритм
Линейный
алгоритм — набор
команд (указаний),
выполняемых
последовательно во
времени друг за
другом.
Разветвляющийся алгоритм
Разветвляющийся алгоритм
Разветвляющийся алгоритм —
алгоритм, содержащий хотя бы
одно условие, в результате
проверки которого, может
осуществляться разделение на
несколько параллельных ветвей
решения задачи.
Циклический алгоритм
Циклический алгоритм
Циклический алгоритм —
алгоритм, предусматривающий
многократное повторение одного и
того же действия (одних и тех же
операций) над новыми исходными
данными.
Гибкие алгоритмы
Вероятностный (стохастический)
алгоритм дает программу решения
задачи несколькими путями или
способами, приводящими к
вероятному достижению
результата.
Гибкие алгоритмы
Эвристический алгоритм
(от греческого слова «эврика») —
алгоритм, использующий
различные разумные соображения
без строгих обоснований.
Блок-схема алгоритма
Блок-схема — тип схем
(графических моделей),
описывающих алгоритмы
или процессы, в которых
отдельные шаги
изображаются в виде блоков
различной формы.
Блок схемы
Начало и конец алгоритма
Элемент отображает
выход во внешнюю среду и вход из
внешней среды
(наиболее частое применение − начало
и конец программы). Внутри фигуры
записывается соответствующее
действие.
Блок действия
Выполнение одной или
нескольких операций,
обработка данных любого вида
(изменение значения данных, формы
представления, расположения). Внутри
фигуры записывают непосредственно
сами операции, например, операцию
присваивания: a = 10*b + c.
Данные (ввод-вывод)
Преобразование данных в
форму, пригодную для
обработки (ввод) или отображения
результатов обработки (вывод). Данный
символ не определяет носителя данных
(для указания типа носителя данных
используются специфические символы).
Логический блок (блок условия)
Отображает решение или
функцию переключательного
типа с одним входом и двумя
или более альтернативными выходами,
из которых только один может быть
выбран после вычисления условий,
определенных внутри этого элемента.
Примеры
Установка JDK
1. Скачать Java SE Development Kit 7 с
сайта http://www.oracle.com/ и
установить.
2. Настроить системную переменную
JAVA_HOME.
3. В системную переменную Path
добавить путь к папке bin в папке с
JDK
Настройка JAVA_HOME
Настройка JAVA_HOME
Настройка path
Для установки переменной «Path» ее создавать не,
найдите ее в списке.. Так что надо ее найти в списке
и нажать кнопку «Изменить». Но будьте
внимательны — во-первых здесь надо вводить
строку предварительно поставив «;» в конце списка
всех путей. И во-вторых — надо добавить строку
«bin» после.
Проверка правильности установки и
настройки
Запустите командную
строку: сочетанием
клавиш [Win]+[R]
вызовите диалог
запуска, наберите cmd
и нажмите [Enter]. В
командной строке
наберите java и
нажмите [Enter].
Интегрированная среда
разработки
(англ. Integrated Development
Environment) — система
программных средств,
используемая программистами для
разработки программного
обеспечения.
IDE
Eclipse
Eclipse (/i kl ps/, ˈ ɪ
от англ. затмение) —
свободная интегрированная
cреда разработки 
модульных кроссплатформенных 
приложений. Развивается и 
поддерживается Eclipse Foundation.
Альтернативные IDE
Бесплатные
Альтернативные среды разработки
Условно-бесплатные
Создание проекта в Eclipse
Запустим Eclipse SDK и убедимся, что 
открыта проекция Java. 
Создание проекта в Eclipse
В открывшемся диалоговом 
окне введём имя проекта. 
Располагаться проект будет в 
директории, установленной как 
Workspace при настройке 
Eclipse.
Создание проекта в Eclipse
В следующем диалоге перейдём на 
вкладку "Libraries". Здесь пока ничего 
менять не будем, но запомним, что на 
этой вкладке можно добавить к проекту 
дополнительные Java библиотеки, а на 
данный момент к проекту подключён 
стандартный API, поставляемый с JRE.
Нажимаем "Finish". Нажимаем "Finish".
Создание проекта в Eclipse
Создан пустой проект, для продолжения 
работы нужно добавить пакеты и 
классы.
Создание проекта в Eclipse
Создадим пакет через контекстное 
меню. Кликнем правой кнопкой мыши на 
папке "src" и выберем "New" -> 
"Package". То же можно проделать, 
нажав кнопку "New Java Package" на 
панели инструментов.
Создание проекта в Eclipse
В появившемся диалоге введём 
имя пакета, оно должно быть 
уникальным во избежание коллизий 
имён, как правило, разработчики 
инвертируют имя своего домена, 
вы тоже можете так поступить.
Создание проекта в Eclipse
Создадим класс через контекстное 
меню. Кликнем правой кнопкой мыши на 
пакете и выберем "New" -> "Class". То 
же можно проделать, нажав кнопку 
"New Java Class" на панели 
инструментов.
Создание проекта в Eclipse
В диалоговом окне создания 
класса введём его имя, оно может быть 
любым, согласно правилам именования 
классов в Java.Отметим опцию "public 
static void main(String[] args)", тем самым 
укажем IDE создать для нас 
одноимённую функцию.
Жмём "Finish".
Создание проекта в Eclipse
Теперь справа мы видим структуру 
проекта и наш файл класса с 
расширением JAVA. По центру - 
исходный код класса, а справа - 
браузер классов, показывающий 
структуру пакетов и классов ввиде 
дерева.
Создание проекта в Eclipse
Отредактируем исходный код, 
введём инструкцию для вывода строки 
на консоль - System.out.println("Ваша 
строка"); .
Не забываем пользоваться 
подсказками и автодополнением - 
начинаем вводить код и жмём Ctrl + 
Пробел.
Создание проекта в Eclipse
Не забудьте завершить строку 
символом ";". 
Сохраняем изменения нажатием 
клавиш Ctrl + S.
Запуск Java проекта в Eclipse
Чтобы проверить работоспособность 
нашей программы, нажмём кнопку "Run" на 
панели инструментов или через главное 
меню. При первом запуске нужно выбрать, 
запускать программу как обычное 
приложение, или как апплет.
Выберите пункт "Java Application".
Запуск Java проекта в Eclipse
Ваше первое консольное Java 
приложение будет скомпилировано и 
выполнено. В открывшемся 
представлении "Console" в нижней панели 
главного окна IDE мы увидим вывод 
программы, а именно - нашу строку. 
Скомпилированные файлы классов с 
расширением CLASS, можно найти в 
папке с проектом -> "bin"

More Related Content

What's hot

Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
metaform
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
metaform
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
metaform
 
работа с потоками ввода вывода
работа с потоками ввода выводаработа с потоками ввода вывода
работа с потоками ввода вывода
metaform
 

What's hot (19)

java 8
java 8java 8
java 8
 
Stream API
Stream APIStream API
Stream API
 
Введение в hibernate
Введение в hibernateВведение в hibernate
Введение в hibernate
 
Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.Парадигма объектно-ориентированного программирования.
Парадигма объектно-ориентированного программирования.
 
Java. Сборщик мусора. Работа с памятью.
Java.  Сборщик мусора. Работа с памятью. Java.  Сборщик мусора. Работа с памятью.
Java. Сборщик мусора. Работа с памятью.
 
Java. Generic - шаблонные типы.
Java.  Generic - шаблонные типы.Java.  Generic - шаблонные типы.
Java. Generic - шаблонные типы.
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
 
Java. Введение в коллекции. Классы обертки. Перечисленияю
Java. Введение в коллекции. Классы обертки.  ПеречисленияюJava. Введение в коллекции. Классы обертки.  Перечисленияю
Java. Введение в коллекции. Классы обертки. Перечисленияю
 
C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.C++ STL & Qt. Занятие 05.
C++ STL & Qt. Занятие 05.
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
 
Работа с БД в Java
Работа с БД в JavaРабота с БД в Java
Работа с БД в Java
 
Классы и объекты в Java
Классы и объекты в JavaКлассы и объекты в Java
Классы и объекты в Java
 
работа с потоками ввода вывода
работа с потоками ввода выводаработа с потоками ввода вывода
работа с потоками ввода вывода
 
C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.C++ STL & Qt. Занятие 01.
C++ STL & Qt. Занятие 01.
 
C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.C++ STL & Qt. Занятие 02.
C++ STL & Qt. Занятие 02.
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
 
C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.C++ STL & Qt. Занятие 10.
C++ STL & Qt. Занятие 10.
 
Шаблоны проектирования GoF
Шаблоны проектирования GoFШаблоны проектирования GoF
Шаблоны проектирования GoF
 

Similar to Введение в язык программирования «Java»

Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
beloslab
 
Dz Java Hi Load 0.4
Dz Java Hi Load 0.4Dz Java Hi Load 0.4
Dz Java Hi Load 0.4
HighLoad2009
 

Similar to Введение в язык программирования «Java» (20)

Java 9 - кратко о новом
Java 9 -  кратко о новомJava 9 -  кратко о новом
Java 9 - кратко о новом
 
Java 9 - Back to the Future
Java 9 - Back to the FutureJava 9 - Back to the Future
Java 9 - Back to the Future
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
основы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программированиеосновы ооп на языке C#. часть 1. введение в программирование
основы ооп на языке C#. часть 1. введение в программирование
 
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
Использование Java Native Interface (JNI) и кросплатформенных C/C++ реализаци...
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
Java Ahead-Of-Time compilation
Java Ahead-Of-Time compilationJava Ahead-Of-Time compilation
Java Ahead-Of-Time compilation
 
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
Konstantin Slisenko - OSGi, Equinox, Eclipse plug-in development, v 2.0
 
0. hello java world
0. hello java world0. hello java world
0. hello java world
 
Разговор про Java 9. Extended version
Разговор про Java 9. Extended versionРазговор про Java 9. Extended version
Разговор про Java 9. Extended version
 
Компьютерная графика. Введение в Processing
Компьютерная графика. Введение в ProcessingКомпьютерная графика. Введение в Processing
Компьютерная графика. Введение в Processing
 
Step 1
Step 1Step 1
Step 1
 
Dz Java Hi Load 0.4
Dz Java Hi Load 0.4Dz Java Hi Load 0.4
Dz Java Hi Load 0.4
 
Java 9: what is there beyond modularization
Java 9: what is there beyond modularizationJava 9: what is there beyond modularization
Java 9: what is there beyond modularization
 
Excelsior JET в действии
Excelsior JET в действииExcelsior JET в действии
Excelsior JET в действии
 
Scala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application DevelopmentScala, SBT & Play! for Rapid Application Development
Scala, SBT & Play! for Rapid Application Development
 
Froglogic Squish
Froglogic Squish Froglogic Squish
Froglogic Squish
 
Frontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиковFrontend: Путешествие в мир модульных загрузчиков
Frontend: Путешествие в мир модульных загрузчиков
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NET
 
Модульная структура
Модульная структураМодульная структура
Модульная структура
 

More from Unguryan Vitaliy

Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
Unguryan Vitaliy
 

More from Unguryan Vitaliy (16)

Модульное тестирование.
Модульное тестирование. Модульное тестирование.
Модульное тестирование.
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
 
Работа в команде, управление программными проектами
Работа в команде, управление программными проектамиРабота в команде, управление программными проектами
Работа в команде, управление программными проектами
 
Системы контроля версий
Системы контроля версийСистемы контроля версий
Системы контроля версий
 
Принципы SOLID
Принципы SOLIDПринципы SOLID
Принципы SOLID
 
Cookies, session и другое в JSP
Cookies, session и другое в JSPCookies, session и другое в JSP
Cookies, session и другое в JSP
 
JSTL
JSTLJSTL
JSTL
 
JSP
JSPJSP
JSP
 
JDBC
JDBCJDBC
JDBC
 
XML
XMLXML
XML
 
Рефлексия в java
Рефлексия в javaРефлексия в java
Рефлексия в java
 
Java. Интерфейс Reference - типы ссылок
Java. Интерфейс Reference -  типы ссылокJava. Интерфейс Reference -  типы ссылок
Java. Интерфейс Reference - типы ссылок
 
Java. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередьJava. Интерфейс Queue - очередь
Java. Интерфейс Queue - очередь
 
Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.Java. Интерфейс Map - ассоциативные массивы.
Java. Интерфейс Map - ассоциативные массивы.
 
Java. Интерфейс Set - наборы (множества) и его реализации.
Java. Интерфейс Set - наборы (множества) и его реализации.Java. Интерфейс Set - наборы (множества) и его реализации.
Java. Интерфейс Set - наборы (множества) и его реализации.
 
List - списки
List - списки List - списки
List - списки
 

Введение в язык программирования «Java»