Язык программирования JAVA

Содержание

Слайд 2

Содержание курса

Введение. Базовый синтаксис и типы данных. Управление выполнением программ.
Создание собственных классов.

Содержание курса Введение. Базовый синтаксис и типы данных. Управление выполнением программ. Создание
Работа со строками. Внутренние классы.
Наследование и полиморфизм. Массивы и коллекции.
Абстрактные классы и интерфейсы.
Обработка исключений.
Создание интерфейса пользователя.
Работа с потоками ввода/вывода.
Мультизадачность в Java.

Слайд 3

Что такое JAVA?

Объектно-ориентированный язык программирования
Изначально был разработан для управления бытовой электроникой
Поставляется с

Что такое JAVA? Объектно-ориентированный язык программирования Изначально был разработан для управления бытовой
большой библиотекой классов
Использует виртуальную машину (JVM) для выполнения программ

Слайд 4

Ключевые особенности JAVA

Объектно-ориентированный
Интерпретируемый и платформонезависимый
Динамическая загрузка библиотек
Мультипоточность
Надежность и безопасность

Ключевые особенности JAVA Объектно-ориентированный Интерпретируемый и платформонезависимый Динамическая загрузка библиотек Мультипоточность Надежность и безопасность

Слайд 5

Объектно-ориентированный подход

Объекты и классы
Объект-представление «вещи» в реальном мире
Класс – «шаблон», определяющий «вещи»
Модель

Объектно-ориентированный подход Объекты и классы Объект-представление «вещи» в реальном мире Класс –
классов объединяет
Существующие классы и объекты
Поведение, цели и структуру
Отношения между классами
Отношения между объектами
Модель используется во всем проекте

Слайд 6

Независимость от платформы

Исходные тексты хранятся в текстовом виде в файле .java
Файл .java

Независимость от платформы Исходные тексты хранятся в текстовом виде в файле .java
компилируется в файл .class
Этот файл содержит байт-код (инструкции для выполнения интерпретатором)
Байт-код интерпретируется во время выполнения

Слайд 7

Just-In-Time (JIT) компилятор

Компилирует байт-код в исполняемый код для конкретной платформы
Увеличивает производительность
Оптимизирует повторяющийся

Just-In-Time (JIT) компилятор Компилирует байт-код в исполняемый код для конкретной платформы Увеличивает
код, например, циклы

Слайд 8

Java - приложения

Клиентские
JVM выполняет отдельное приложение из командной строки
Классы загружаются с локального

Java - приложения Клиентские JVM выполняет отдельное приложение из командной строки Классы
диска
Серверные
Обслуживают несколько клиентов
Применяются для многозвенных приложений

Слайд 9

Java - апплеты

Предназначены для встраивания в HTML страницы
Выполняются внутри браузера и могут

Java - апплеты Предназначены для встраивания в HTML страницы Выполняются внутри браузера
взаимодействовать с сервером
Могут быть преобразованы в обычное приложение

Слайд 10

Java SDK (JDK)

Sun Java SDK включает в себя
Компилятор (javac)
Библиотеку классов
Отладчик (jdb)
Интерпретатор (java)
Генератор

Java SDK (JDK) Sun Java SDK включает в себя Компилятор (javac) Библиотеку
документации (javadoc)
Архиватор (jar)
Другое…

Слайд 11

Варианты поставки

J2ME (Micro Edition) – для мобильных устройств
J2SE (Standard Edition) – разработка

Варианты поставки J2ME (Micro Edition) – для мобильных устройств J2SE (Standard Edition)
обычных приложений
J2EE (Enterprise Edition) – разработка приложений многозвенной архитектуры

Слайд 12

Инструменты, используемые в данном курсе

J2SE версии 1.4.2
В качестве IDE будет использоваться Eclipse

Инструменты, используемые в данном курсе J2SE версии 1.4.2 В качестве IDE будет использоваться Eclipse

Слайд 13

Основы объектно-ориентированного программирования

Объектная модель
Объекты и классы
Взаимодействие классов

Основы объектно-ориентированного программирования Объектная модель Объекты и классы Взаимодействие классов

Слайд 14

Зачем нужна объектная модель?

Единое представление об окружающем мире в одном проекте
Простота модификации
Расширяемость

Зачем нужна объектная модель? Единое представление об окружающем мире в одном проекте Простота модификации Расширяемость

Слайд 15

Объекты и классы

Объект – некоторая КОНКРЕТНАЯ сущность моделируемой предметной области
Класс – шаблон

Объекты и классы Объект – некоторая КОНКРЕТНАЯ сущность моделируемой предметной области Класс
или АБСТРАКЦИЯ сущности предметной области

Квадрат

Слайд 16

Свойства классов и объектов

Уникальные характеристики, которые необходимы при моделировании предметной области
ОБЪЕКТЫ различаются

Свойства классов и объектов Уникальные характеристики, которые необходимы при моделировании предметной области
значениями свойств
Свойства отражают состояние объекта

Слайд 17

Методы классов и объектов

Метод отражает ПОВЕДЕНИЕ объектов
Выполнение методов, как правило, меняет значение

Методы классов и объектов Метод отражает ПОВЕДЕНИЕ объектов Выполнение методов, как правило,
свойств
Поведение объекта может меняться в зависимости от состояния

Слайд 18

Инкапсуляция

Значение свойств можно менять ТОЛЬКО ПОСРЕДСТВОМ ВЫЗОВА МЕТОДОВ

Инкапсуляция Значение свойств можно менять ТОЛЬКО ПОСРЕДСТВОМ ВЫЗОВА МЕТОДОВ

Слайд 19

Наследование

Класс может иметь одного или нескольких потомков. Потомки (подклассы) содержат в себе

Наследование Класс может иметь одного или нескольких потомков. Потомки (подклассы) содержат в
тот же набор свойств и методов, что и класс-родитель (суперкласс).

Слайд 20

Наследование

В Java нет множественного наследования
Все методы в Java – виртуальные (могут быть

Наследование В Java нет множественного наследования Все методы в Java – виртуальные
перекрыты), если явно не указано обратное

Слайд 21

Полиморфизм

Технология, позволяющая задать для одного и того же (по смыслу) метода различные

Полиморфизм Технология, позволяющая задать для одного и того же (по смыслу) метода
способы выполнения, в зависимости от класса, в котором этот метод реализован
Основан на наследовании
Методы ОБЯЗАНЫ иметь одно и то же имя и набор параметров (сигнатуру)

Слайд 22

Взаимодействие классов

Зависимость (uses-a) – класс использует другой класс
Агрегирование (has-a) – класс содержит

Взаимодействие классов Зависимость (uses-a) – класс использует другой класс Агрегирование (has-a) –
объекты другого класса
Наследование (is-a) – класс является наследником (родителем) другого класса

Слайд 23

Итоги

Java – объектно-ориентированный, платформонезависимый язык программирования
Выполняется в виртуальной Java машине (JVM)
Программы, написанные

Итоги Java – объектно-ориентированный, платформонезависимый язык программирования Выполняется в виртуальной Java машине
на Java, могут выполняться внутри HTML страниц (апплеты)

Слайд 24

Базовый синтаксис языка

Ключевые компоненты SDK
Структура файла
Определение классов
Базовые типы данных и операторы
Использование переменной

Базовый синтаксис языка Ключевые компоненты SDK Структура файла Определение классов Базовые типы
CLASSPATH
Компиляция и запуск приложения

Слайд 25

Ключевые компоненты SDK

Компилятор (javac) – создает из исходного кода байт-код
Интерпретатор (java) –

Ключевые компоненты SDK Компилятор (javac) – создает из исходного кода байт-код Интерпретатор (java) – выполняет байт-код
выполняет байт-код

Слайд 26

Пакеты

Классы объединяются в специальные структуры, называемые пакетами
Стандартные пакеты для
Поддержки базовых конструкций

Пакеты Классы объединяются в специальные структуры, называемые пакетами Стандартные пакеты для Поддержки
языка (java.lang)
Создания оконного интерфейса (javax.swing)
Управления вводом/выводом (java.io)

Слайд 27

Структура исходного файла класса Java

Исходный файл состоит из следующих частей
Необязательное слово package,

Структура исходного файла класса Java Исходный файл состоит из следующих частей Необязательное
за которым следует наименование пакета, в котором содержится класс
Необязательный оператор import (может быть несколько), который указывает, какие классы из сторонних пакетов используются создаваемым классом
Одно или более определение class или interface, за которым следует программный блок
Файл должен иметь ТО ЖЕ имя, что и создаваемый класс
Ключевые слова языка Java ЧУВСТВИТЕЛЬНЫ К РЕГИСТРУ
В файле может быть ТОЛЬКО ОДИН public класс

Слайд 28

Пример класса Java

package ru.vsu.test;
import java.util.Date;
public class FirstProgram {
private Date today;
public Date getToday(){
return

Пример класса Java package ru.vsu.test; import java.util.Date; public class FirstProgram { private
today;
}
public void setToday(Date aToday){
today = aToday;
}
public static void main (String[] args){
FirstProgram fp = new FirstProgram();
fp.setToday(new Date());
System.out.println (fp.getToday());
}
}

Слайд 29

Соглашения об именовании

Имена файлов
Customer.java
Person.class
Имена пакетов
java.util
javax.swing
Имена классов
Customer
Person
Имена свойств класса
firstName
id
Имена методов
getName
isAlive
Имена констант
SQUARE_SIZE
Также могут использоваться

Соглашения об именовании Имена файлов Customer.java Person.class Имена пакетов java.util javax.swing Имена
цифры 1..9, _, $

Слайд 30

Определение класса

Определение класса включает:
Модификатор доступа
Ключевое слово class
Свойства класса
Конструкторы
Методы
Статические свойства
Статические методы

Определение класса Определение класса включает: Модификатор доступа Ключевое слово class Свойства класса

Слайд 31

Пример

public class FirstProgram {
private Date today;
public Date getToday(){
return today;
}
public static final

Пример public class FirstProgram { private Date today; public Date getToday(){ return
PROGRAM_SIZE=560;
public static void main (String[] args){
...
}
}

Слайд 32

Блоки кода

Блоки кода обрамляются в фигурные скобки “{“ “}”
Охватывают определение класса
Определения методов
Логически

Блоки кода Блоки кода обрамляются в фигурные скобки “{“ “}” Охватывают определение
связанные разделы кода

import java.util.Date;
public class FirstProgram {
public static void main (String[] args){
System.out.println (new Date());
}
}

Слайд 33

Объявление методов

Методы определяются только внутри класса
Указывается
Модификатор доступа
Слово static
Тип возвращаемого значения
Аргументы

Объявление методов Методы определяются только внутри класса Указывается Модификатор доступа Слово static Тип возвращаемого значения Аргументы

Слайд 34

Пример

import java.util.Date;
public class FirstProgram {
private Date today;
public Date getToday(){
return today;
}
public void setToday(Date

Пример import java.util.Date; public class FirstProgram { private Date today; public Date
aToday){
int i = 0;
i++
today = aToday;
}
}

Слайд 35

Переменные

Основное место для хранения данных
Должны быть явно объявлены
Каждая переменная имеет тип, идентификатор

Переменные Основное место для хранения данных Должны быть явно объявлены Каждая переменная
и область видимости
Определяются для класса, для экземпляра и внутри метода

Слайд 36

Объявление переменных

Может быть объявлена в любом месте блока кода
Должна быть объявлена перед

Объявление переменных Может быть объявлена в любом месте блока кода Должна быть
использованием
Обычно переменные объявляются в начале блока
Область видимости определяется блоком
Необходимо инициализировать переменные перед использованием
Переменные простых типов инициализируются автоматически

Слайд 37

Объявление переменных

Основная форма объявления
тип идентификатор [ = значение];

При объявлении переменные могут быть

Объявление переменных Основная форма объявления тип идентификатор [ = значение]; При объявлении
проинициализированы

public class FirstProgram {
public static void main (String[] args){
int itemsSold = 10;
float itemCost = 11.0f;
int i, j, k;
double interestRate;
}
}

Слайд 38

Именование переменных

Имя переменной должно начинаться с буквы, знака подчеркивания или со знака

Именование переменных Имя переменной должно начинаться с буквы, знака подчеркивания или со
“$”
Имя переменной может включать цифры
Давайте переменным осмысленные имена

Слайд 39

Простые типы данных

Восемь простых типов данных
Шесть числовых
Символьный
Логический
Определяемые пользователем типы
Классы
Интерфейсы
Массивы

Простые типы данных Восемь простых типов данных Шесть числовых Символьный Логический Определяемые

Слайд 40

Простые типы данных

Простые типы данных

Слайд 41

Операторы

Пять типов операторов
Присваивание
Арифметические
Побитовый сдвиг
Равенство
Логические

Операторы Пять типов операторов Присваивание Арифметические Побитовый сдвиг Равенство Логические

Слайд 42

Оператор присваивания

Оператор присваивания – выражение и может использоваться там, где допустимы выражения
Сначала

Оператор присваивания Оператор присваивания – выражение и может использоваться там, где допустимы
вычисляется правая часть, а затем полученное значение присваивается левой части

int itemsSold = 10;
double itemCost = 11.0F+12.0D;
int i = i+7;
i = j = k = 100;

Слайд 43

Арифметические операторы

Сложение (+)
Умножение (*)
Вычитание (-)
Деление (/)
Остаток от деления (%)

Все арифметические операции производятся

Арифметические операторы Сложение (+) Умножение (*) Вычитание (-) Деление (/) Остаток от
над int или long
ВНИМАНИЕ:
byte a = 100;
byte b = 100;
byte c = a+b;
c = -56!!!

Слайд 44

Операции инкремента и декремента

Увеличение на 1 (++)
Уменьшение на 1 (--)

int var1 =

Операции инкремента и декремента Увеличение на 1 (++) Уменьшение на 1 (--)
3;
int var2 = 0;
var2 = ++var1; //сначала увеличивается var1, а затем //присваивается var2
var2 = var1++; //сначала присваивается var2, а затем // увеличивается var1

Слайд 45

Побитовый сдвиг

<< - сдвиг влево
>> - сдвиг вправо
>>> - сдвиг вправо с

Побитовый сдвиг >> - сдвиг вправо >>> - сдвиг вправо с заполнением
заполнением нулями
Правая часть сокращается до остатка от деления на длину числа, т.е. 1 << 35 == 1 << 3

1 << 3 == 8

-8 >> 3 == -1

-8 >>> 3 = …

Слайд 46

Операторы сравнения

< - меньше
> - больше
>= - больше или равно
<= - меньше

Операторы сравнения > - больше >= - больше или равно == -
или равно
== - равно
!= - не равно

Слайд 47

Логические операторы

&& - and
|| - or
^ - xor
! – not

Логические операторы && - and || - or ^ - xor ! – not

Слайд 48

Приоритет операций

Приоритет операций

Слайд 49

Управление выполнением программы

Типы выполнения
Последовательность
Выбор
Итерация
Переход

Управление выполнением программы Типы выполнения Последовательность Выбор Итерация Переход

Слайд 50

Последовательность

Каждый оператор завершается точкой с запятой
Группы операторов обрамляются фигурными скобками
Каждая группа выполняется

Последовательность Каждый оператор завершается точкой с запятой Группы операторов обрамляются фигурными скобками
как единый оператор внутри последовательности операторов

Слайд 51

Оператор if

if (логическое выражение)
оператор1;
[else
оператор2];

if (i % 2 == 0)
System.out.println(“Even”);
else
System.out.println(“Odd”);

if (i % 2

Оператор if if (логическое выражение) оператор1; [else оператор2]; if (i % 2
== 0){
System.out.print(i);
System.out.println(“ is even”);
}

Слайд 52

Оператор switch

Используется для выбора из счетного количества вариантов
Выражения const должны быть типа

Оператор switch Используется для выбора из счетного количества вариантов Выражения const должны
byte, int, char или short

switch (выражение целого типа){
case const1:
statement1;
break;
case const2:
statement2;
break;
default:
statement3;
}

Слайд 53

Циклы

Три типа
while
do..while
for
Все циклы имеют две части
Условие выполнения
Тело

Циклы Три типа while do..while for Все циклы имеют две части Условие выполнения Тело

Слайд 54

Цикл while

while (логическое выражение)
оператор;

int i = 0;
while (i < 100){
System.out.println(“i = ”+i);
i++;
}

Цикл while while (логическое выражение) оператор; int i = 0; while (i

Слайд 55

Цикл do..while

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

int i = 0;
do{
System.out.println(“i = ”+i);
i++;
}
while (i <

Цикл do..while do оператор; while (условие выхода); int i = 0; do{
10);

Слайд 56

Цикл for

for (инициализация; условие выхода; условие итерации)
оператор;

for (int i = 0; i

Цикл for for (инициализация; условие выхода; условие итерации) оператор; for (int i
< 10; i++)
{
System.out.println(“i = ”+i);
}

for (int i = 0, j = 10; i < j; i++, j--)
{
System.out.println(“i = ”+i);
System.out.println(“j = ”+j);
}

Слайд 57

Переменная среды CLASSPATH

Определяется в операционной системе
Указывает JVM, где необходимо искать файлы .class
Может

Переменная среды CLASSPATH Определяется в операционной системе Указывает JVM, где необходимо искать
ссылаться на каталоги и файлы .jar и .zip
Интерпретатор загружает встроенные классы перед тем, как загрузить пользовательские
Используется с командами java и javac

Слайд 58

Выполнение JAVA программ

Для того, чтобы класс можно было запустить, в нем должен

Выполнение JAVA программ Для того, чтобы класс можно было запустить, в нем
быть определен метод main

public class FirstProgram {
public static void main (String[] args){
int itemsSold = 10;
float itemCost = 11.0f;
int i, j, k;
double interestRate;
}
}

Слайд 59

Компиляция и запуск JAVA программ

Компиляция .java файла

Запуск .class файла

> javac [-classpath ]

Компиляция и запуск JAVA программ Компиляция .java файла Запуск .class файла >
FirstProgram.java

> java [-classpath ] FirstProgram

Слайд 60

Рекомендуемая литература

JavaTM 2 Platform, Standard Edition, v 1.4.2 API Specification
Хорстманн, Корнелл Java2,

Рекомендуемая литература JavaTM 2 Platform, Standard Edition, v 1.4.2 API Specification Хорстманн,
в 2-х томах
Bruce Eckel Thinking in Java
http://java.sun.com/learning/tutorial/index.html
Имя файла: Язык-программирования-JAVA.pptx
Количество просмотров: 407
Количество скачиваний: 4