Операции с int и boolean в Java

Операции с целочисленными данными выполняются точно, без округления. Однако, ввиду ограниченного диапазона, сложение и вычитание могут дать «переполнение» — результат, выходящий за границы диапазона.

Переполнение выглядит как отрицательный результат при положительных слагаемых или как положительный результат при отрицательных слагаемых.

Например, если к максимальному положительному int Java, равному 0x7FFF FFFF, прибавить 1, получится наименьшее целое отрицательное число 0x8000 0000.

Если это число сложить с максимальным положительным (0x8000 0000 + 0x7FFF FFFF), получится число 0xFFFF FFFF, которое на единицу меньше нуля (легко проверить, прибавив к нему 1).

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

boolean в Java — это простой булевский тип и класс-оболочка Boolean. Литералы типа boolean — это false и true («ложь» и «истина»). К булевскому типу применимы операции = (равно), != (не равно), | (логическое ИЛИ), & (логическое И), и! (логическое НЕ, отрицание). Значения boolean в Java получаются как результат арифметического сравнения значений других типов и/или как результат операций И, ИЛИ, НЕ. Типовое применение булевского типа и операций с ним — хранение результатов проверки сложных условий.

Результаты булевских операций с константами и булевской переменной х:

!false → true, !true → false,
x|true → true, x&true → x,
x&false → false, x|false → x

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.