01f839e64d4a8b58599dfb7bb2c92f69.ppt
- Количество слайдов: 32
ВВЕДЕНИЕ В JAVA И ОБЗОР КОНЦЕПЦИИ ООП
Системные требования JDK 8 from Sun/Oracle Eclipse IDE for Java Developers 2
3 Обзор платформы Java является объектно-ориентированным языком программирования, разработанным фирмой Sun Microsystems ( Sun ) Приобретена Oracle в наст. время. Произошел от языка С (например, используются { } для выделения блоков, переменные объявляются перед их использованием и другие сходства) Язык Java специально разработан для качественного рывка в создании интерактивных распределенных приложений для сети Internet. Технология Java используется для разработки приложений в широком диапазоне, в том числе, для мобильных устройств 3
Py. Pyton Java C 140 60 public class Cel. To. Far { public static void main(String argc[])160 71 { 160 71 int fahr, celsius; 180 82 int lower, upper, step; 180 82 lower = 0; /* нижняя граница таблицы 200 93 температур */ 200 93 upper = 300; /* верхняя граница */ 220 104 step = 20; /* шаг */ 220 104 fahr = lower; 240 115 while (fahr <= upper) { 240 115 celsius = 5 * (fahr - 32) / 9; 260 126 printf("%dt%dn", fahr, celsius); 260 126 println(fahr+"t"+ celsius); 280 137 fahr = fahr + step; 280 137 } 300 148 }
Достоинства и недостатки Java 5 Основные достоинства языка Наибольшая среди всех языков программирования степень переносимости программ между платформами (CPU/OS). Мощные стандартные библиотеки (frameworks). Встроенная поддержка работы в сетях (как локальных, так и Internet/Intranet – сети с использованием. TCP/IP ). Основные недостатки Низкое, в сравнении с другими языками, быстродействие, повышенные требования к объему оперативной памяти. Не так актуально, поскольку эффективность увеличивается. Большой объем стандартных библиотек и технологий создает сложности в изучении языка. Java – это целый МИР. Постоянное развитие языка вызывает наличие как устаревших, так и новых средств, имеющих одно и то же функциональное назначение.
Версии Java SDK (JDK) — это базовая среда разработки программ 6 на Java - полная библиотека классов и предустановленных утилит, позволяющих выполнить общие задачи разработки приложения. JDK Также содержит компилятор и другие инструменты (tools), ориентируется на использование в командной строке и имеет бесплатную лицензию на использование. Визуальные среды разработки - IDE ( JBuilder, Symantec Cafe, Net. Beans IDE 7. 3, Java Studio Creator, Java Studio Enterprise, Intelli. J IDEA, Visual. J, Eclipse Europe(3. 1) (Eclipse Mars(4. 5) уже появилась) и др. ).
Версии Java 7 Последняя версия языка Java 2. 0 Версии стандартных средств разработки Javaпрограмм от Sun/Oracle Ранее - JDK (Java Development Kit) 1. 1, 1. 2. . 1. 4 Сейчас - JDK (Software Development Kit) 5, 6, 7, 8… Текущая версия Java SE 8 (Вышла 19 марта 2014 года) Standart Edition (http: //java. sun. com http: //www. oracle. com/technetwork/java/index. html) Java 9 ожидается в 2016 году 7
Обзор платформы Java Runtime Environment (JRE; также известна как Java runtime – среда выполнения) содержит виртуальную машину Java - JVM, библиотеки и компоненты, необходимые для запуска Javaпрограмм. Входит в состав JDK-SDK. JRE доступна на многих платформах и может распространяться с приложением.
Основные особенности 9 Java является полностью объектноориентированным языком. Реализован с использованием интерпретации Ркода (байт-кода). Т. е. программа сначала транслируется в машинонезависимый Р-код, а потом интерпретируется (пошагово исполняется) некоторой программой-интерпретатором (виртуальная Java-машина, JVM).
Обзор платформы Java Исходный текст программы имеет расширение. java, который компилируется в упомянутый bytecode Во время выполнения JVM читает и интерпретирует файл с расширением . class и выполняет программные инструкции на платформе для которой написана JVM Интерпретирует bytecode также как интерпретируются инструкции ассемблера CPU. JVM поддерживает принцип «write-once, runanywhere» , поскольку код выполняется на любом чипсете, для которого существует JVM (Windows, Unix, мобильный телефон и т. п. )
Стандартный жизненный цикл программы 11 Стандартная технология с выполнением на компьютере под управлением ОС 11
Жизненный цикл программы на Java Девиз - “Write once, run anywhere” 12
Жизненный цикл программы на Java 13 13
JAVA программы 14 Направления программирования на Java Апплеты (APPLETS) – приложения, выполняемы на browser. Серверная программа JAVA - SERVLETS, JAVA SERVER PAGES (JSP), JAVA SERVER FACES (JSF). ENTERPRISE JAVA BEANS (EJB) – серверный компонент архитектуры для реализации бизнес-логики WEB SERVICES - идентифицируемая веб-адресом программная система со стандартизированными интерфейсами взаимодействия Приложения десктоповые и распределенные, в том числе для мобильных телефонов. Распределенные сервисы, использующие RMI (remote method invocation - вызов удаленных процедур). Несколько программ требуют средств, не входящих в STANDARD EDITION JDK (доступны в ENTERPRISE EDITION) SERVLETS WEB SERVICES ENTERPRISE JAVA BEANS
Applets SERVER сторона CLIENT сторона #1 #1 Browser #1 my. Applet. html Web Server Internet my. Applet. class #2 #2 #2 Notice that the Java code is executed by the client (Browser) • #1 Http запрашивает файла html //файл посылается к Browser • Browser интерпретирует скрипт html • # 2 Http запрашивает файл my. Applet. class// файл посылается к Browser • Browser интерпретирует java bytecodes • Файл уничтожается при закрытии Browser.
Servelts 16 Java клиентское приложение Servlet выполняется на Сервере приложений #1 #1 #1 Web Server Internet my. Java. Application. class my. Servelt. class #4 #3 #3 #2 • #1 Http запрашивает Web Server для выполнения файла servelt • #2 Servlet выполняется на серверной стороне и возвращает ответ на Web Server • # 3 Http ответ, сформированный на Web Server на основе ответа из Servlet Http ответ посылается клиентскому приложению • # 4 Http ответ предает содержимое на вход клиентского приложения (my. Java. Application. class)
Java Server Pages 17 JSP содержит код java и другие данные (html, XML, специальные теги (tags). Клиентское приложение Java или BROWSER #1 #1 #1 Web Server Internet my. Java. Application. class my. JSP. class #4 #3 #3 #2 • #1 Http посылается на Web Server для выполнения файла jsp • #2 java код jsp первоначально выполняется на сервере. Часть java из jsp преобразуется в Servlet • # 3 Http ответ, формируется Web Server на основе ответа от jsp. Http ответ посылается клиентскому приложению • # 4 Http ответ передает содержимое на вход клиентского приложения (как входной поток) (my. Java. Application. class). Browser интерпретирует полученный формат (html,
Обзор платформы Java Структурно Java основан на пакетах (package), который представляет собой механизм управления пространством имён (namespace) — некоторое множество, под которым подразумевается модель, абстрактное хранилище или окружение, созданное для логической группировки уникальных идентификаторов (то есть имён классов, метододов). Идентификатор, определенный в пространстве имён, ассоциируется с этим пространством. Один и тот же идентификатор может быть независимо определён в нескольких пространствах. Таким образом, значение, связанное с идентификатором, определённым в одном пространстве имён, может иметь (или не иметь) такое же значение, как и такой же идентификатор, определённый в другом пространстве.
Весь код определён внутри пакета, причём этот пакет не нуждается в явно заданном имени (пакет может быть без имени -по умолчанию). Код из других пакетов доступен при префиксном указании имени пакета перед соответствующим идентификатором, например class String в package java. lang, может быть вызван как java. lang. String (указание полного имени класса). Java содержит конструкцию import, делающую необязательным указание имя пакета. Строго говоря, пространства имён в Java не являются иерархически упорядоченными, но пакеты именуются в иерархическом стиле. При этом предполагается иерархическое размещение подкаталогов в соответвии с именем пвкета (java/lang) Например, все пакеты, начинающиеся с java, являются частью платформы Java — пакет java. lang содержит базовые классы языка, а java. lang. reflect содержит базовые классы, специфичные для отражения (рефлексии).
Пример структуры пакета java. util
Обзор платформы Java Итак, классы располагаются внутри пакетов, внутри классов содержатся методы, переменные, константы и т. п. Исходный текст программы на Java (файл с расширением. java) должен быть скомпилирован. Компилятор проверяет код на соответствие синтаксическим правилам и записывает bytecode в файл с расширением. class. Bytecode представляет собой стандартные инструкции для выполнения в Java virtual machine (JVM), что отличает Java от большинства других компиляторов языков, которые создают инструкции для CPU.
Обзор платформы Java платформа самостоятельно обеспечивает управление памятью, освобождая от этих обязанностей программиста, в отличии от языка С. При создании приложением Java экземпляра объекта в процессе выполнения JVM автоматически выделяет память для объекта из пула (heap) для использования в программе. Сборщик мусора (Java garbage collector) выполняется в фоновом режиме и отслеживает объекты, которые более не нужны приложению и освобождает память.
Первая программа public class Hello { public static void main(String[ ] args) { System. out. println ("Hello, world!!!"); /* привет */ } // комментарий } Сохраним текст программы в файле Hello. java в любом текстовом редакторе. (Имя файла должно совпадать с именем класса (Добавить C: Program FilesJavajdk 1. 7. 0_03bin в начало переменной окружения (environment) Path Компиляция javac Hello. java Специальный метод main, который используется JVM для запуска программы. 23
Комментарии к программе Hello Программа должна представлять хотя бы один класс, имя которого должно совпадать с именем файла класса. Определение класса начинается со служебного слова class. Класс содержит единственный метод main, модификатор доступа public означает, что метод main виден и доступен любому классу. С помощью слова static объявляются методы и переменные класса, используемые для работы с классом в целом. Методы, в объявлении которых использовано ключевое слово static, могут непосредственно работать только с локальными и статическими переменными. Не требуется возвращать значение из метода main, поэтому используется модификатор void. Часто другие методы возвращают зачени int, float, … Все существующие реализации Java-интерпретаторов, получив команду интерпретировать класс, начинают свою работу с вызова метода main. Javaтранслятор может оттранслировать класс, в котором нет метода main. А вот Java-интерпретатор запускать классы без метода main не умеет. Элемент String args[] объявляет параметр с именем args, который является массивом объектов — класса String. Можно передать параметры при запуске программы java App. Class Firrst, Second
Первая программа 25 Транслятор создаст файл Hello. class с независимым от процессора байткодом) Выполнение java Hello
Первая программа – 3 шага 26
Лексические основы 27 27
Лексические начала 28
Лексические начала 29
Лексические начала 30
import java. util. Scanner; Enter the values of a, b, and c class solutions 1 { public static void main(String[] args) 5 6 { Roots of given equation: -3. 0 -2. 0 int a, b, c; double x, y; Scanner s=new Scanner(System. in); System. out. println(“Вводите значения a, b и c”); a=s. next. Int(); b=s. next. Int(); c=s. next. Int(); int k=(b*b)-4*a*c; if(k<0) { System. out. println(“Нет реальных корней”); } else { double l=Math. sqrt(k); x=(-b-l)/2*a; y=(-b+l)/2*a; System. out. println(“Корни уравнения: ”+x+” “+y); } } }
01f839e64d4a8b58599dfb7bb2c92f69.ppt