Язык Java является строго типизированным. Это означает, что тип каждой переменной должен быть объявлен. В Java имеются восемь основных простых или примитивных типов данных. Четыре из них представляют целые числа, два — действительные числа с плавающей точкой, один — символы в уникоде (как поясняется далее в разделе "Тип char"), а последний — логические значения.
НА ЗАМЕТКУ! В Java предусмотрен пакет для выполнения арифметических операций с произвольной точностью. Но так называемые "большие числа" в Java являются объектами и не считаются новым типом данных. Далее в этой главе будет показано, как обращаться с ними.
Целочисленные типы данных
Целочисленные типы данных служат для представления как положительных, так и отрицательных чисел без дробной части. В Java имеются четыре целочисленных типа. Все они представлены в табл. 3.1.
Таблица 3.1. Целочисленные типы данных в Java
Тип
Требуемый объем памяти (байты)
Диапазон допустимых значений
(включительно)
int
4
От -2147483648
до
2147483647 (т.е. больше
2
млрд.)
short
2
От -32768 ДО
32767
long
8
От
-9223372036854775808
до
-9223372036854775807
byte
1
От -128 до
127
Как правило, наиболее удобным оказывается тип int. Так, если требуется представить в числовом виде количество обитателей планеты, то нет никакой нужды прибегать к типу long. Типы byte и short используются, главным образом, в специальных приложениях, например, при низкоуровневой обработкефайлов или ради экономии памяти при формировании больших массивов, когда во главу угла ставится размер информационного хранилища.
В Java диапазоны допустимых значений целочисленных типов не зависят от машины, на которой выполняется программа. Это существенно упрощает перенос программного обеспечения с одной платформы на другую. Сравните данный подход с принятым в С и С++, где используется наиболее эффективный тип для каждого конкретного процессора. В итоге программа на С, которая отлично работает на 32-разрядном процессоре, может привести к целочисленному переполнению в 16-разрядной системе. Но программы на Java должны одинаково работать на всех машинах, и поэтому диапазоны допустимых значений для различных типов данных фиксированы.
Длинные целые числа указываются с суффиксом L (например, 4000000000L), шестнадцатеричные числа — с префиксом Ох (например, OxCAFE), восьмеричные числа — с префиксом 0. Так, 010 — это десятичное число 8 в восьмеричной форме. Такая запись иногда приводит к недоразумениям, поэтому мы не рекомендуем пользоваться восьмеричными числами.
Начиная с версии Java 7 числа можно указывать и в двоичной форме с префиксом 0Ь. Например, 001001 — это десятичное число 9 в двоичной форме. Кроме того, числовые литералы можно теперь указывать со знаками подчеркивания, как, например, 1_000_000 (или 0Ы111_0100_0010_0100_0000) для обозначения одного миллиона. Знаки подчеркивания добавляются только ради повышения удобочитаемости больших чисел, а компилятор Java просто удаляет их.
НА ЗАМЕТКУ С++! В С и С++ разрядность таких целочисленных типов, как int и long, зависит от конкретной платформы. Так, на платформе 8086 с 16-разрядным процессором разрядность целочисленного типа int составляет 2 байта, а на таких платформах с 32-разрядным процессором, как Pentium или SPARC, — 4 байта. Аналогично разрядность целочисленного типа long на платформах с 32-разрядным процессором составляет 4 байта, а на платформах с 64-разрядным процессором — 8 байт. Именно эти отличия затрудняют написание межплатформенных программ. А в Java разрядность всех числовых типов данных не зависит от конкретной платформы. Следует также заметить, что в Java отсутствуют беззнаковые типы unsigned.
Опубликовал Kest
November 18 2014 00:31:32 ·
0 Комментариев ·
2794 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.