Презентация на тему Особливості роботи з типами

Особливості роботи з цілими типами Аргумент дорівнює найменшому можливому значенню примітивного типу int x=-2147483648; int y=-x; Результат y==x и x == -x – true Переповнення int x=
Слайды и текст этой презентации

Слайд 1Особливості роботи з типами
Особливості роботи з цілими

типами
Розширення цілих типів
Особливості роботи з дробовими типами
Розширення

дрібних типів
Приведення примітивних типів даних
Особливості роботи з типами Особливості роботи з цілими типами Розширення цілих типів

Слайд 2Особливості роботи з цілими типами
Аргумент дорівнює найменшому

можливому значенню примітивного типу
int x=-2147483648;
int y=-x;


Результат y==x и x == -x – true
Переповнення
int x= 300000;
print(x*x);
Результат -194313216
Особливості роботи з цілими типами Аргумент дорівнює найменшому можливому значенню примітивного типу

Слайд 3Розширення типів
Вираз
int i = 300000; print (i

* i); // Множення з точністю 32

біта
long m = i; print (m * m); // Множення з точністю 64 біта
print (1 / (m-i)); // Спробуємо отримати різницю значень int та long
Результат
-194313216
90000000000
Помилка ділення на нуль
double x = 1/2; - Помилковий результат
Кількість мілісекунд у місяці
print (1000 * 60 * 60 * 24 * 30) - результат -1702967296
Помилка компіляції
byte b = 5;
byte c = -b;
Розширення типів Вираз int i = 300000; print (i * i); //

Слайд 4Правила розширення цілочисельних типів
Якщо хоча б один

аргумент операції має тип long, то всі

аргументи приводяться до цього типу і результат операції також буде типу long.
Обчислення буде вироблено з точністю в 64 біта, а більш старші біти, якщо з'являються в результаті, відкидаються.
Якщо ж аргументів типу long немає, то обчислення проводиться з точністю в 32 біти, і всі аргументи перетворяться в int (byte, short, char також). Результат теж int. Всі біти старше 32-го ігноруються.
Немає способу дізнатися, чи відбулося переповнення.
Правила розширення цілочисельних типів Якщо хоча б один аргумент операції має тип

Слайд 5Особливості роботи з дробовими типами
Дробові обчислення взагалі

не породжують ніяких помилок!
Спеціальні значення дробового типу:
позитивна

і негативна нескінченності (positive / negative infinity);
1f / 0f - позитивна нескінченність, тип float
-1d / 0d - негативна нескінченність, тип double
значення "не число", Not-a-Number, скорочено NaN;
0.0 / 0.0 - ділення нуль на нуль
(1.0 / 0.0) * 0.0 - множення нескінченності на нуль
позитивний і негативний нулі.
0.0
+0.0
-0.0
0.0 == - 0.0 - true
0.0> -0.0 - false

Слайд 6Правила розширення дробових типів
Якщо хоча б один

аргумент має тип double, то значення всіх

аргументів приводяться до цього типу і результат операції також матиме тип double. Обчислення буде здійснене з точністю в 64 біта.
Якщо ж аргументів типу double немає, а хоча б один аргумент має тип float, то всі аргументи приводяться до float, обчислення проводиться з точністю в 32 біта і результат має тип float.
Якщо хоча б один з аргументів має значення NaN, то і результатом операції буде NaN.
Правила розширення дробових типів Якщо хоча б один аргумент має тип double,

Слайд 7Приведення примітивних типів даних
Приведення типів дозволяє конвертувати

значення примітивів з одного типу в інший.
Приведення

типів (casting) може бути неявним (implicit) і явним (explicit).
Приведення примітивних типів даних Приведення типів дозволяє конвертувати значення примітивів з одного

Слайд 8Неявне приведення типів
При неявному приведенні типів немає

необхідності писати код для кастингу: конвертування відбувається

автоматично.
Зазвичай неявне приведення типів відбувається при розширенні діапазону значень.
Наприклад, присвоювання значення змінної з меншим діапазоном значень, наприклад byte в контейнер з більш широким діапазоном, наприклад int.
Неявне приведення типів При неявному приведенні типів немає необхідності писати код для

Слайд 9Явне приведення типів
Якщо значення одного типу не

може бути побічно присвоєно змінної іншого типу,

використовується оператор явного перетворення типів (type casting):
(бажаний тип) наявний тип
int x = (int) 3957.229; // Legal cast System.out.println ("int x =" + x); Результат: int x = 3957
Явне приведення типів Якщо значення одного типу не може бути побічно присвоєно

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

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


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

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