Целочисленные значения

Java определяет четыре целочисленных типа: byte, short, int и long. Все эти типы представляют значения со знаком — положительные и отрицательные. Java не поддерживает только положительные целочисленные значения без знака. Многие другие языки программирования поддерживают целочисленные значения как со знаком, так и без знака. Однако разработчики Java посчитали целочисленные значения без знака ненужными. В частности, они решили, что концепция значений без знака использовалась, в основном, для указания поведения старшего бита, который определяет знак целочисленного значения. В Java управление значением старшего бита осуществляется иначе — посредством применения специальной операции "сдвига вправо без учета знака". Тем самым потребность в целочисленном типе без знака была исключена.

Ширина целочисленного типа представляет не занимаемый объем памяти, а скорее поведение, определяемое им для переменных и выражений этого типа. Среда времени выполнения Java может использовать любой размер, до тех пор, пока типы ведут себя объявленным образом. Как показано в табл., ширина и область допустимых значений этих целочисленных типов изменяются в широких пределах.

Таблица 3.1. Ширина и область допустимых значений целочисленных типов

Имя Ширина Область допустимых значений
long 64 от -9223372036854775808 до 9223372036854775807
int 32 от -2147483648 до 2147483647
short 16 от -32768 до 32767
byte 8 от-128 до 127

Теперь рассмотрим каждый из типов целочисленных значений.