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) вистачає місце.
Pages: 1 2 3 4 5 6 7 8 9 10 11
Tags:
вираз,
змінна,
значення,
масив,
результат,
тип,
число
Схожі записи
- Порівняння C Sharp і Java (14.04.2009)
... Обидві мови підтримують методи-фіналізатори. Із-за невизначеності моменту видалення об'єкту фіналізатори не можуть використовуватися для звільнення системних ресурсів, зайнятих об'єктом, що вимушує створювати додаткові методи для «очищення» об'єкту і викликати їх явно.
C# містить в стандартній бібліотеці інтерфейс IDisposable і спеціальну конструкцію using, що гарантує своєчасний виклик методу очищення: // DisposableClass реалізує інтерфейс ...
- Програмування на мові Java Введення в мову Java (12.03.2009)
...
Отримуваний в процесі трансляції код для кожного класу записується в окремому вихідному файлі, з ім'ям співпадаючому з ім'ям класу, і розширенням class.
Перш за все, в цьому розділі ми напишемо, відтранслюватимемо, і запустимо канонічну програму "Hello World". Після цього ми розглянемо всі істотні лексичні елементи, що сприймаються Java-транслятором: пропуски, коментарі, ключові слова, ідентифікатори, літерали, ...
- Java (24.02.2009)
...
Java - так називають не тільки саму мову, але і платформу для створення додатків рівня підприємств на основі даної мови.
Спочатку мова програмування називалася Oak (русськ. Дуб ) і розроблявся Джеймсом Гослінгом для побутової електроніки, але згодом був перейменований в Java і став використовуватися для написання клієнтських ...
- Програмування на мові Java Утиліти (02.03.2009)
...
У цього класу є методи доступу до вмісту об'єкту, які повертають (можливо закруглене) значення об'єкту у вигляді значення кожного з примітивних типів:
doubleValue() повертає вміст об'єкту у вигляді значення типу double.
floatValue() повертає значення типу float.
intValue() повертає значення типу int.
longValue() повертає значення типу long.
Double ...
- Практична мова для практичних програмістів (10.04.2009)
...
За плечима у справ трансляцій майстра Брайта -- безпосередня участь в розробці таких програмних продуктів, як: Northwest Software C, Data-light C, Zorland C, Zortech C++ (між іншим, один з перших "рідних" компіляторів з C++), Symantec C++ і Digital Mars C++; компілятор з ABEL (Ad-vanced Boolean Expression Language, призначений, як і відоміший VHDL, для формального опису ...
Категория:
програмування |
Комментарии