Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3-й семестр / Лекции / 2 - Презентация.pptx
Скачиваний:
53
Добавлен:
25.12.2020
Размер:
2.24 Mб
Скачать

Центр дистанционного

обучения

Порядковые значения перечисляемых типов

Внутри перечисления каждое значение перечисляемого типа хранится как целое число, называемое его порядковое значение

Первое значение перечисляемого типа имеет порядковое значение равное нулю, второе - двум, и так далее

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

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

Соседние файлы в папке Лекции