2.30M
Категория: ПрограммированиеПрограммирование

Lesson_5

1.

Java. Lesson 5
1

2.

Темы занятия:
- Исключения
- Обработка исключений
- StackTrace
- Потоки данных
- InputStream/Reader
- BufferedReader
- OutputStream/Writer
- BufferedWriter
- Коллекции
- ArrayList
- HashSet
- HashMap
- Класс String
- Форматирование строк
- Работа со строками
- Сравнение строк
- Поиск подстроки
- Создание подстрок
- Регулярные выражения
2

3.

Исключения
Исключение в Java — представляет проблему, которая возникает в ходе выполнения программы. В случае возникновения в Java исключения
(exception), или исключительного события, имеет место прекращение нормального течения программы, и программа/приложение завершаются в
аварийном режиме. В Java их около 400. Но все они делятся по группам, так что запомнить их не трудно.
Error — это критическая ошибка во время исполнения программы, связанная с работой виртуальной машины Java. В большинстве случаев Error не
нужно обрабатывать, поскольку она свидетельствует о каких-то серьезных недоработках в коде.
Exceptions — это, собственно, исключения: исключительная, незапланированная ситуация, которая произошла при работе программы.
3

4.

Обработка исключений
В том месте, где может возникнуть проверяемое
исключение, нужно его обработать.
1)
Есть два варианта обработки исключений:
1) передать его в сигнатуру метода (но, если в другом месте
программы воспользоваться этим методом, то Idea также
попросит обработать исключение)
2) обработать с помощью блока try-catch
2)
4

5.

StackTrace
Stacktrace — это упорядоченный
список методов, сквозь которые
исключение пронырнуло. У нас оно
возникло при попытке обратиться к
несуществующему файлу на 11-й. В
StackTrace в самом низу обозначен
номер строки, в котором произошла
ошибка.
5

6.

Потоки данных
Потоки -это универсальный инструмент, который
позволяет программе получать данные откуда угодно
и отправлять данные куда угодно. Делятся на два
типа:
- Входящий поток(Input) - получение данных
- Исходящий поток(Output) - отправка данных
Сами классы InputStream, OutputStream, Reader и
Writer в явном виде никто не использует: они не
присоединены ни к каким внешним объектам, из
которых можно читать данные (или в которые
можно писать данные). Однако у этих четырех
классов много классов-наследников, которые
умеют очень многое.
Потоки делятся на два типа:
- Байтовые
- Символьные
6

7.

InputStream
Reader
7

8.

BufferedReader
Поток может читать данные не только из источника
данных, который их хранит, но из другого потока.
BufferedReader - это наследник класса Reader. Он
буферезирует данные.
BufferedReader читает данные из поток FileReader, а он
в свою очередь читает из данные из файла.
Класс File, определенный в пакете java.io, не работает
напрямую с потоками. Его задачей является
управление информацией о файлах и каталогах.
8

9.

OutputStream
Writer
9

10.

BufferedWriter
BufferedWriter - это наследник класса Writer.
Он буферезирует данные.
BufferedWriter пишет данные в поток
FileWriter, а он в свою очередь пишет данные в
файл.
10

11.

Коллекции
Коллекция - это структура данных, группу каких-либо объектов.
Коллекция может содержать числа, строки, объекты и др.
Collection — основной интерфейс, который описывает базовые
методы, которыми должна обладать любая коллекция.
List — интерфейс для операций с коллекцией, которая является
списком. Список может включать одинаковые элементы. Элементы в
списке хранятся в том порядке, в котором они туда помещались.
Самопроизвольных перемещений элементов в нем не происходит —
только с вашего ведома.
Set - интерфейс для хранения множества. В отличии от java.util.List
этот интерфейс как раз не может иметь одинаковые элементы
Queue — интерфейс предлагает работать с коллекцией как с
очередью, т.е. коллекция имеет метод для добавления элементов в
один конец и метод для получения элемента с другого конца — т.е.
настоящая очередь по принципу FIFO
Map — очень удобная конструкция, которая хранит данные не в виде
списка значений, а в виде пары ключ-значение.
11

12.

ArrayList
ArrayList - это динамический массив.
12

13.

HashSet
Класс HashSet является типичным представителем
коллекций типа «множество». Во многом он похож на
класс ArrayList, и в каком-то смысле является его более
примитивной версией.
13

14.

HashMap
Коллекция HashMap похожа на коллекцию Set, только хранит
не множество элементов, а множество «пар элементов».
Каждая пара элементов Map состоит из двух: «ключ» и
«значение».
14

15.

Класс String
Класс String в Java — это final
класс, который не может иметь
потомков. Класс String —
immutable класс, то есть его
объекты не могут быть изменены
после создания.
15

16.

Форматирование строк
System.out.println(“Hello”); - выводит строку и
переносит коретку на следующую строку.
System.out.print(“Hello”); - выводит строку, но не
переносит каретку на новую строку. Если следом
вызвать ещё раз эту функцию, то две строки
напечатаются в одной.
System.out.printf(“Привет - %s”, “Саша”) - выводит
строку и вместо “%s” подставляет то значение,
которое указано после запятой.
String.format(“Привет - %s”, “Саша”) - этот метод
вернёт отморфатированную строку.
%b - подставляет значение boolean
%s - подставляет значение String
%d - подставляет значение целочисленных типов
%c - подставляет значение char
%f - подставляет значение чисел с плавающей
точкой
16

17.

Сравнение строк
17

18.

Поиск подстроки
18

19.

Создание подстрок
19

20.

Регулярные выражения
Регулярные выражения - это шаблоны
для поиск строк.
Класс Pattern - это конструктор
регулярных выражений.
Класс Matcher - это поисковик
регулярных выраженний.
20

21.

Москва, ул. Барклая, д. 6, стр. 5, офис 511
Тел.: +7 495 989 6165
info@pflb.ru
www. performance-lab.ru
21
English     Русский Правила