- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •• Данные
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •РекурсивныйЦентри дистанционногоне
- •Центр дистанционного
- •Центр дистанционного
- •Пример: факториалЦентр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Ц нтр дистанционного
- •Другие примеры:Центр дистанционного
- •Пример: палиндромЦе тр истанционного
- •Немного другойЦентрпример:дистанционного
- •Центр ди танционного
- •Взаимная рекурсияЦентр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
- •Центр дистанционного
Центр дистанционного
обучения
Порядковые значения перечисляемых типов
•Внутри перечисления каждое значение перечисляемого типа хранится как целое число, называемое его порядковое значение
•Первое значение перечисляемого типа имеет порядковое значение равное нулю, второе - двум, и так далее
•Тем не менее, вы не можете присвоить числовое значение данным перечисляемого типа, даже если оно соответствует действительным порядковым значением, заданным в перечислении
3-51online.mirea
.ru
Центр дистанционного
обучения
Порядковые значения перечисляемых типов
•Объявление перечисляемого типа представляет собой особый тип класса, а каждая переменная этого типа является объектом
•Метод ordinal() возвращает порядковое значение объекта в перечислении
•Метод name() возвращает имя идентификатора, соответствующего значению объекта в перечислении
online.mirea
3-52 .ru
Центр дистанционного
обучения
Пример Burger.java
package ru.mirea.javacourse.lecture2;
public class Dinner {
enum Burger {onion, chicken, cucumber, cheese, coffee, meet, olives, tomato} //перечисление
public static void main(String[] args) { Burger one, two, three;
one = Burger.meet; two = Burger.chicken;
System.out.println("burger one value: " + one);
System.out.println("burger one ordinal: " + one.ordinal());
System.out.println("burger one name: " + one.name());
3-53 online.mirea
.ru
Центр дистанционного
обучения
Пример Burger.java
System.out.println();
System.out.println(" burger two value: " + two);
System.out.println(" burger two ordinal: " + two.ordinal());
System.out.println(" burger two name: " + two.name()); three = one;
System.out.println();
System.out.println(" burger three value: " + three);
System.out.println(" burger three ordinal: " + three.ordinal());
} System.out.println(" burger three name: " + three.name());
}
3-54 online.mirea
.ru
Центр дистанционного
обучения
Работа программы Burger
online.mirea
.ru
Центр дистанционного
Классы оболочкиобучен я
Пакет java.lang содержит классы-оболочки,
оответствуют каждому типу-примитиву:
Primitive Type |
Wrapper Class |
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
char |
Character |
boolean |
Boolean |
void |
Void |
3-56 online.mirea
.ru
Центр дистанционного
обучения
Классы оболочки
•Следующее объявление создает объект Integer, который представляет собой целое число 40, как объект
Integer age = new Integer(40);
•Объект класса-оболочки, может быть использован в любой ситуации, когда использование примитивного типа будет недостаточно
•Например, некоторые объекты служат в качестве контейнеров других объектов
•Примитивные значения не могут быть сохранены в таких контейнерах , но объекты-оболочки могут
3-57 online.mirea
.ru
Центр дистанционного
обучения
Классы оболочки
•Классы-оболочки также содержат статические методы, которые помогают управлять ассоциированными с ними типами
•Так, например, класс Integer содержит метод, чтобы преобразовать целое число, которое хранится в String в значение типа int:
num = Integer.parseInt(str);
•Классы-оболочки также содержат полезные и нужные константы
•Так, например, у класса Integer есть константы: MIN_VALUE и MAX_VALUE которые содержат самое маленькое и самое большое значения типа int
3-58 online.mirea
.ru
Центр дистанционного
обучения
Автоупаковка
•Автоупаковка это автоматическое преобразование примитивного значения к соответствующему объекту обертки
Integer obj; int num = 42; obj = num;
•Присваивание создает соответствующий объект Integer
•Обратное преобразование (называется автораспаковка) и также происходит автоматически, по мере необходимости
3-59 online.mirea
.ru
Центр дистанционного
обучения
Пример: игра в кости
•Мы разработаем два класса для реализации игры “В кости”.
•Класс описывающий игральный шестигранный кубик – кость, он называется Die. В нем есть метод roll(), означающий бросание игральной кости.
•И класс RollingDice будет у нас в роли класса тестера, где содержится функция main() – точка входа в программу.
•Оба этих класса находятся в отношениях использования
online.mirea
.ru