Програмування на мові Java Типи

March 5th, 2009


« Програмування на мові Java Робота з рядками   |   Програмування на мові Java Обробка виключень »

Це називається розширенням (widening) або підвищенням (promotion), оскільки тип меншої розрядності розширюється (підвищується) до більшого сумісного типу. Розміру типу int завжди достатньо для зберігання чисел з діапазону, допустимого для типу byte, тому в подібних ситуаціях оператора явного приведення типу не потрібний.
Зворотне в більшості випадків невірно, тому для занесення значення типу int в змінну типу byte необхідно використовувати оператор приведення типу. Цю процедуру іноді називають звуженням (narrowing), оскільки ви явно повідомляєте транслятор, що величину необхідно перетворити, щоб вона уміщалася в змінну потрібного вам типу.
Для приведення величини до певного типу перед нею потрібно вказати цей тип, ув′язнений в круглі дужки. У приведеному нижче фрагменті коду демонструється приведення типу джерела (змінній типу int) до типу приймача (змінній типу byte).
Якби при такій операції ціле значення виходило за межі допустимого для типу byte діапазону, воно було б зменшене шляхом ділення по модулю на допустимий для byte діапазон (результат ділення по модулю на число-ето залишок від ділення на це число).

int а = 100; byte b = (byte) а;

Автоматичне перетворення типів у виразах

Коли ви обчислюєте значення виразу, точність, потрібна для зберігання проміжних результатів, часто повинна бути вище, ніж потрібний для представлення остаточного результату.

byte а = 40; byte b = 50; byte з = 100; int d = a* b / з;

Результат проміжного виразу (а* b) цілком може вийти за діапазон допустимих для типу byte значень. Саме тому Java автоматично підвищує тип кожної частини виразу до типу int, так що для проміжного результату (а* b) вистачає місце.


Tags: , , , , , ,

програмування


Схожі записи

Категория: програмування |

Комментарии