Главная » Java » Арифметические операции Java

0

 

В Java поддерживается ряд бинарных арифметических операторов, применимых к любым простым числовым типам.

 

Оператор                                 Описание

+                                        Сложение

-                                        Вычитание

*                                        Умножение

/                                        Деление

%                                        Вычисление остатка

 

 

Существует унарный оператор – (минус), Вот как можно, скажем, изменить знак числа:

vаl = -val;

С целью обеспечения логической полноты поддерживается и унарный + (плюс) (например, +2. о).

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

Целочисленная арифметика

Арифметические операции с целочисленными операндами выполняются в соответствии с правилами дополнения по модулю, Т.е. если значение выходит за границы допустимого диапазона изменения числовых величин соответствующего типа (скажем, int или long), оно уменьшается по модулю, отвечающему размеру этого диапазона. Поэтому результаты целочисленных операций никогда не приводят к переполнению разрядной сетки (overflow) переменной или исчезновению значащих разрядов (потере значимости - иnderflow) в ней – разряды числа могут быть только перенесены.

При целочисленном делении остаток отбрасывается (например, 7/2 равно 3 и -7/2 равно -3). Результаты применения операторов деления и вычисления остатка по отношению к аргументам целых типов подчиняются следующему правилу:

(х/у)*у + х%у == х

Так Что, 7%2 есть 1, а -7%2 – -1. Если в качестве операнда-делителя в выражениях целочисленного деления и вычисления остатка задается нуль, операция считается недопустимой и генерируется исключение типа ArithmeticException.

Арифметические операции с символами сводятся к операциям с соответствующими целыми кодами-числами, поскольку значения char в этом случае неявно преобразуются к типу int (подробнее об этом – ниже, в разделе 6.8.2 на странице 186).

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии