Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Java. (Лекция 4)

Содержание

ЗагадкаБейсбольная бита и мяч вместе стоят $1.10 (доллар и 10 центов). Бита ровно на доллар дороже, чем мяч. Сколько стоит мяч (в центах)?
Лекция 4 ЗагадкаБейсбольная бита и мяч вместе стоят $1.10 (доллар и 10 центов). Бита ЗагадкаВ озере есть участок, заросший кувшинками. Каждый день этот участок увеличивается в Загадка Загадка КоллекцииКоллекции – это хранилища объектов.С ними работать очень удобно когда у вас List List – это динамический список(массив). Это не класс, а интерфейс.Интерфейс List List ArrayList - это класс, который реализует интерфейс List. Так создается список List Списки можно перебирать циклом for:  for(String name: names){ 	System.out.println(name); }Списки SetSet – это неупорядоченное множество уникальных элементов. В отличие от List, в SetСтандартная реализация интерфейса Set это HashSet:  Set books = new HashSet()Добавление MapMap – словарь или ассоциативный массив - это множество пар, где каждому MapHashMap – стандартная реализация интерфейса Map. Map scores = new HashMap;Добавление нового MapПример: Допустим вы хотите хранить разную информацию о каком либо человеке и QueueQueue – это очередь. Т.е. Коллекция которая работает по принципу FIFO – QueueLinkedList – это стандартная реализация очереди. Queue очередь = new LinkedList(); Как GenericsВсе эти описанные коллекции являются «Обобщенными» типами или “Generic types”.Generic types или GenericsРеализуем класс коробку, в которую можно положить любой другой объект, но только Обработка ошибокПрограмма не всегда может работать так, как ожидается от нее.На это Обработка ошибокStackTrace показывает какая последовательность вызовов методов была произведена перед тем как Обработка ошибокВнутри оператора try { } может находиться любой код, который может Обработка ошибокОшибки – это обычные классы, которые наследуются от классов Error, Exception. Обработка ошибокМожно так же создавать свои классы ошибок и исключительных ситуаций.Для этого ИтогиКоллекцииList, ArrayListSet, HashSetMap, HashMapQueue, LinkedListМетод add()Метод isEmpty()GenericsErrorExceptionthrowtry catch Спасибо!
Слайды презентации

Слайд 2 Загадка

Бейсбольная бита и мяч вместе стоят $1.10 (доллар

ЗагадкаБейсбольная бита и мяч вместе стоят $1.10 (доллар и 10 центов).

и 10 центов). Бита ровно на доллар дороже, чем

мяч. Сколько стоит мяч (в центах)?

Слайд 3 Загадка

В озере есть участок, заросший кувшинками. Каждый день

ЗагадкаВ озере есть участок, заросший кувшинками. Каждый день этот участок увеличивается

этот участок увеличивается в размере в 2 раза. Известно,

что кувшинки покроют всю поверхность озера за 48 дней.
За сколько дней кувшинки покроют ровно половину поверхности озера?

Слайд 4 Загадка

Загадка

Слайд 5 Загадка

Загадка

Слайд 6 Коллекции

Коллекции – это хранилища объектов.
С ними работать очень

КоллекцииКоллекции – это хранилища объектов.С ними работать очень удобно когда у

удобно когда у вас множество одинаковых объектов
В Java коллекции

описаны следующими интерфейсами:

Слайд 7 List

List – это динамический список(массив). Это не

List List – это динамический список(массив). Это не класс, а интерфейс.Интерфейс

класс, а интерфейс.
Интерфейс List описывает как должен работать динамический

список. В нем есть следующие методы: add() – добавление нового элемента
remove() – удаление элемента
size() – размер списка contains() – проверяет содержит ли список указанный элемент.
При объявлении списка, можно и нужно указать тип хранимых объектов в списке. List list; // вместо Type пишется тип
Например, список строк: List strs;
Или список целых чисел List ints;
Все коллекции могут работать только с классами. Вместо примитивных типов, нужно использовать их обертки:
int – Integer, double – Double, char – Character, boolean – Boolean ..


Слайд 8 List

ArrayList - это класс, который реализует интерфейс

List ArrayList - это класс, который реализует интерфейс List. Так создается

List. Так создается список строк:
List names = new ArrayList();
Добавление новых

элементов: names.add(“Elizabeth”); String kingsName = “Arthur”; names.add(kingsName);
Получение количества элементов: int count = names.size(); //вернет 2
Удаление какого-либо элемента: names.remove(“Elizabeth”);
Очищение списка: names.clear();
Перед добавлением или удалением, вы можете проверить есть ли этот элемент в списке: if (names.contains(“James”)){ names.remove(“James”); }


Слайд 9 List

Списки можно перебирать циклом for: for(String name: names){ System.out.println(name); }
Списки

List Списки можно перебирать циклом for: for(String name: names){ 	System.out.println(name); }Списки

могут быть любого типа: List cars = new ArrayList(); //список

машин List printers = new ArrayList;
Элементы можно получать по индексу как в массивах: printers.get(0); //получить 0-вой элемент names.get(12); //получить 12-й элемент
Если элемента с таким индексом нет, вы получите IndexOutOfBoundsException

Слайд 10 Set

Set – это неупорядоченное множество уникальных элементов. В

SetSet – это неупорядоченное множество уникальных элементов. В отличие от List,

отличие от List, в Set нельзя добавлять повторно один

и тот же элемент.
Set содержит такие же методы как у List: add(), remove(), size(), contains() кроме get() потому что из множества нельзя получить определенный элемент. Его элементы можно только перебрать циклом.
Или проверить содержит ли множество какое-либо значение. contains()
Так же при объявлении желательно указывать тип хранимых элементов: Set strs; // множество строк Set doubles; //множетсо Double


Слайд 11 Set

Стандартная реализация интерфейса Set это HashSet: Set books =

SetСтандартная реализация интерфейса Set это HashSet: Set books = new HashSet()Добавление

new HashSet()
Добавление
books.add(“Harry Potter 1”);
books.add(“Master and Margaret”);

3. Удаление :
books.remove(“Harry

Potter 1”); 4. провека сущестования элемента во множестве: books.contains(“Sherlock”);
5. Даже если добавить один и тот же элемент два раза, множество будет содержать этот элемент всего один раз, в отличие от списка.


Слайд 12 Map

Map – словарь или ассоциативный массив - это

MapMap – словарь или ассоциативный массив - это множество пар, где

множество пар, где каждому ключу соответствует определенное значение.
В

словаре можно хранить разные значения по определенному уникальному ключу. И каждый уникальный ключ будет соответствовать определенному значению “first name” - > “Jonathan” “last name” -> “Livingston” “city” -> “New York”
Так как и словаря есть ключ и значение, для него нужно указывать сразу два типа при объявлении: тип ключа и тип значения: Map info;


Слайд 13 Map

HashMap – стандартная реализация интерфейса Map. Map scores

MapHashMap – стандартная реализация интерфейса Map. Map scores = new HashMap;Добавление

= new HashMap;

Добавление нового значения по ключу: scores.put(“Marina”, 3);

// У Марины три очка scores.put(“Syrym”, 4); // У Сырым 4 очка
Удаление ключа со значением: scores.remove(“Syrym”);
Получить значение можно по ключу: scores.get(“Marina”); // получим 3
Проверить содержит ли словарь, данный ключ: scores.containsKey()
Проверить содержит ли словарь, данное значение: scores.containsValue()
Получить все ключи: Set keys = scores.keySet();
Получить все значения: Collection values = scores.values();


Слайд 14 Map

Пример: Допустим вы хотите хранить разную информацию о

MapПример: Допустим вы хотите хранить разную информацию о каком либо человеке

каком либо человеке и заранее не знаете сколько информации

может быть о нем. Для этого вы можете создать словарь и добавлять в него любую информацию по мере нахождения:






Потом вы можете все это обработать или сохранить или вывести, перебрав все элементы:

Map info = new HashMap<>(); info.put("Имя", "Рапунцель"); info.put("Должность", "Принцесса"); info.put("Особенность", "Волшебные волосы"); info.put("Родина", "Арендел");

for(String key: info.keySet()){ String value = info.get(key); System.out.println(key+": "+value); }

Должность: Принцесса Родина: Арендел Особенность: Волшебные волосы Имя: Рапунцель


Слайд 15 Queue

Queue – это очередь. Т.е. Коллекция которая работает

QueueQueue – это очередь. Т.е. Коллекция которая работает по принципу FIFO

по принципу FIFO – “Первым вошел – первым вышел”.

Т.е. В очередь можно добавлять элементы в любом порядке. А получать элементы из нее только по одному в порядке добавления.

У очереди есть методы: add() – добавление элемента в конец очереди poll() – получить первый элемент и удалить его с очереди peek() – получить первый элемент, но не удалять его remove() – просто удалить первый элемент
isEmpty() – проверка пустоты очереди
Очередь используется когда важен порядок элементов. Например: Диспетчер задач может иметь список задач на выполнение. Задачи поступают в разное время, и диспетчер должен выполнить их в порядке поступления.
Или очередь покупателей. Какой покупатель пришел первым, того и первым обслуживают.

Слайд 16 Queue

LinkedList – это стандартная реализация очереди. Queue очередь =

QueueLinkedList – это стандартная реализация очереди. Queue очередь = new LinkedList();

new LinkedList();
Как примерно выглядит добавление в очередь и

ее обработка:

Queue<Задача> очередь = new LinkedList<Задача>(); очередь.add(new Задача("Какая то задача 1")); Задача задача2 = new Задача("задача 2"); очередь.add(задача2); // один и тот же элемент очередь.add(задача2); // можно несколько раз добавлять while (!очередь.isEmpty()){ Задача текущаяЗадача = очередь.poll(); текущаяЗадача.запустить(); }


Слайд 17 Generics

Все эти описанные коллекции являются «Обобщенными» типами или

GenericsВсе эти описанные коллекции являются «Обобщенными» типами или “Generic types”.Generic types

“Generic types”.
Generic types или Generics – это типы которые

могут иметь параметры.
И как параметрами для них выступают другие типы данных.
Параметры указываются внутри треугольных скобок рядом с именем типа: List, ArrayList, Map, Queue<Задача>

Такие типы должны уметь работать с любыми другими типами, т.е. быть универсальными.
Вы также можете создавать Generic типы или классы
Для этого при описании класса или интерфейса, должны указать что ваш класс принимает параметр внтури треугольных скобок: public class Box

Слайд 18 Generics

Реализуем класс коробку, в которую можно положить любой

GenericsРеализуем класс коробку, в которую можно положить любой другой объект, но

другой объект, но только один. При этом вначале указав

какого типа объект может в себе держать коробка.










Создание объекта коробки, которая может держать машину в себе:

public class Box { //T – это параметр-тип, он может быть любым private T element; //Поэтому мы заранее не можем сказать // какого типа будет element public T getElement() { return element; } public void putElement(T element) { this.element = element; } }

Box carBox = new Box(); //Car будет подставлен вместо T Car car = new Car(); carBox.putElement(car);


Слайд 19 Обработка ошибок

Программа не всегда может работать так, как

Обработка ошибокПрограмма не всегда может работать так, как ожидается от нее.На

ожидается от нее.
На это могут повлиять внешние факторы как:

Память, ресурсы, пользовательское вмешательство и т.п.
На это могут повлиять случаи, которые не учел программист. Т.е. Исключительные ситуации.
И когда ваша программа не знает что дальше делать, она «вылетает» или «кидает» ошибку.
Когда программа вылетает, в обычно видите информацию о том в каком месте произошла ошибка: Это StackTrace
Чтобы пользователь не чувствовал дискомфорта при использовании нашей программы или чтобы программа не вылетала просто, мы должны уметь отлавливать такие ошибки и обрабатывать их как нужно.
Это называется обработкой ошибок.

Exception in thread "main" java.util.NoSuchElementException at java.util.LinkedList.getFirst(LinkedList.java:242) at java.util.LinkedList.element(LinkedList.java:661) at collections.Main.main(Main.java:33)


Слайд 20 Обработка ошибок

StackTrace показывает какая последовательность вызовов методов была

Обработка ошибокStackTrace показывает какая последовательность вызовов методов была произведена перед тем

произведена перед тем как произошла ошибка. И читается снизу

вверх. Т.е. Нижные вызовы были первее верхних.




StackTrace помогает нам понять причину ошибки и обнаружить его местонахождение, показывая тип ошибки, в каком файле и в какой строчке произошла ошибка.
Если мы знаем в каком месте произойдет ошибка, мы можем ее обработать, не останавливая выполнение программы. Это делается с помощью операторов try, catch

Exception in thread "main" java.util.NoSuchElementException at java.util.LinkedList.getFirst(LinkedList.java:242) at java.util.LinkedList.element(LinkedList.java:661) at collections.Main.main(Main.java:33)

try { очередь.element(); //здесь может произойти ошибка, если очередь пустая } catch(NoSuchElementException e){ ... //сделать что нибудь или проигнорировать }


Слайд 21 Обработка ошибок

Внутри оператора try { } может находиться

Обработка ошибокВнутри оператора try { } может находиться любой код, который

любой код, который может вызвать исключительную ситуацию.
После try всегда

идет один или несколько операторов catch, каждый из которых ловит определенный тип ошибок или исключительных ситуаций. Поэтому в операторе catch указывается тип ошибки. Внутри оператора catch может быть любой код, который как то обработает пойманную ошибку. Пример:

try { очередь.element(); } catch(NoSuchElementException e){ //Элементов нет System.out.print("Очередь пустая"); } catch(NullPointerException e){ // Очередь не инициализирована System.out.print("Очередь еще не создана"); }


Слайд 22 Обработка ошибок

Ошибки – это обычные классы, которые наследуются

Обработка ошибокОшибки – это обычные классы, которые наследуются от классов Error,

от классов Error, Exception.
По умолчанию наследники от Error

– это серьезные системные ошибки, связанные с ОС или Java машиной, которые нельзя обработать в основном никак. Например: VirtualMachineError, ThreadDeath
Наследники Exception – это не очень серьезные ошибки, которые не причиняют большого вреда программе, и их можно и нужно обработать. Например: EOFException, NullPointerException, NoSuchElementException.
Java не позволит вам скомпилировать программу, пока вы не обработаете все необходимые исключительные ситуации.
Есть еще класс RuntimeException, наследников которого Java позволяет не обрабатывать, но соответственно они не должны причинять никакого значимого вреда программе.

Слайд 23 Обработка ошибок

Можно так же создавать свои классы ошибок

Обработка ошибокМожно так же создавать свои классы ошибок и исключительных ситуаций.Для

и исключительных ситуаций.
Для этого нужно унаследовать от какого либо

класса ошибок. Например:




Чтобы вызвать ошибку в коде, используется оператор throw
Например вызовем ошибку, если краска закончилась в принтере:





При этом мы должны указывать наш метод может вызвать исключительную ситуацию

public class CartridgeException extends Exception { … }

public void print(String text) throws CartridgeException { if(cartrdge.isEmpty()){ throw new CartridgeException(); } }


Слайд 24 Итоги

Коллекции
List, ArrayList
Set, HashSet
Map, HashMap
Queue, LinkedList
Метод add()
Метод isEmpty()
Generics
Error
Exception
throw
try
catch

ИтогиКоллекцииList, ArrayListSet, HashSetMap, HashMapQueue, LinkedListМетод add()Метод isEmpty()GenericsErrorExceptionthrowtry catch





  • Имя файла: java-lektsiya-4.pptx
  • Количество просмотров: 125
  • Количество скачиваний: 0