Чтение онлайн

на главную - закладки

Жанры

Основы программирования на Java

Сухов С. А.

Шрифт:
2.1.1. Числовые типы

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

В языке Java понятие беззнаковых чисел отсутствует. Все числовые типы этого языка — знаковые. Например, если значение переменной типа byte равно в

шестнадцатиричном виде 0x80, то это число -1.

2.1.1.1. Целые типы

Отсутствие в Java беззнаковых чисел вдвое сокращает количество целых типов. В языке имеется 4 целых типа, занимающих 1, 2, 4 и 8 байтов в памяти. Для каждого типа — byte, short, int и long - есть свои естественные области применения.

Тип byte

Тип byte — это знаковый 8-битовый тип. Его диапазон — от -128 до 127. Он лучше всего подходит для хранения произвольного потока байтов, загружаемого из сети или из файла,

byte b;

byte с = 11;

Если речь не идет о манипуляциях с битами, использования типа byte, как правило, следует избегать. Для нормальных целых чисел, используемых в качестве счетчиков и в арифметических выражениях, гораздо лучше подходит тип int.

Тип short

Short — это знаковый 16-битовый тип. Его диапазон — от -32768 до 32767. Это, вероятно, наиболее редко используемый в Java тип, поскольку он определен как тип, в котором старший байт стоит первым,

short s;

short t= 129;

Тип int

Тип int служит для представления 32-битных целых чисел со знаком. Диапазон допустимых для этого типа значений — от -2147483648 до 2147483647. Чаще всего этот тип данных используется для хранения обычных целых чисел со значениями, достигающими двух миллиардов. Этот тип прекрасно подходит для использования при обработке массивов и для счетчиков. В ближайшие годы этот тип будет прекрасно соответствовать машинным словам не только 32-битовых процессоров, но и 64-битовых с поддержкой быстрой конвейеризации для выполнения 32-битного кода в режиме совместимости. Всякий раз, когда в одном выражении фигурируют переменные типов byte, short, int и целые литералы, тип всего выражения перед завершением вычислений приводится к int.

int i;

int j = 1000;

Тип long

Тип long предназначен для представления 64-битовых чисел со знаком. Его диапазон допустимых значений достаточно велик даже для таких задач, как подсчет числа атомов во вселенной,

long m;

long n = 123;

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

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

Имя

Разрядность

Диапазон

1

long

64

– 9, 223, 372,036, 854, 775, 808 ... 9, 223, 372, 036, 854, 775, 807

2

int

32

– 2, 147, 483, 648 .... 2, 147, 483, 647

3

short

16

– 32,768 .... 32, 767

4

byte

8

– 128 ... 127

2.1.1.2.
Числа с плавающей точкой

Числа с плавающей точкой, часто называемые в других языках вещественными числами, используются при вычислениях, в которых требуется использование дробной части. В Java реализован стандартный (IEEE-754) набор типов для чисел с плавающей точкой — float и double и операторов для работы с ними.

Таблица 2.2. Характеристики типов чисел с плавающей точкой

Имя

Разрядность

Диапазон

1

double

64

1.7e-308 .... 1.7e+ 308

2

float

32

3.4e-038 .... 3.4e+ 038

Тип float

В переменных с обычной, или одинарной точностью, объявляемых с помощью ключевого слова float, для хранения вещественного значения используется 32 бита,

float f;

float f2 = 3.14;

Тип double

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

double d;

double pi = 3.14159265358979323846;

2.1.2. Символы

Поскольку в Java для представления символов в строках используется кодировка Unicode, разрядность типа char в этом языке — 16 бит. В нем можно хранить десятки тысяч символов интернационального набора символов Unicode. Диапазон типа char — 0..65536. Unicode — это объединение десятков кодировок символов, он включает в себя латинский, греческий, арабский алфавиты, кириллицу и многие другие наборы символов,

char с;

char с2 = 0xf132;

char с3 =’а’;

char с4 = ‘\n’;

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

Поделиться:
Популярные книги

Егерь. Столичный гамбит

Скиба Николай
4. Зверолов
Фантастика:
рпг
уся
фэнтези
фантастика: прочее
попаданцы
6.67
рейтинг книги
Егерь. Столичный гамбит

Дьявольские миры (Сборник)

Смит Джордж Генри
4. Фантастический боевик
Фантастика:
ужасы и мистика
6.25
рейтинг книги
Дьявольские миры (Сборник)

Последний реанорец. Том VII

Павлов Вел
6. Высшая Речь
Фантастика:
аниме
попаданцы
фэнтези
5.00
рейтинг книги
Последний реанорец. Том VII

Безвозвратно

Сноу Тиффани А.
1. Кэтлин Тернер
Детективы:
прочие детективы
9.14
рейтинг книги
Безвозвратно

Газлайтер. Том 6

Володин Григорий Григорьевич
6. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 6

История всемирной литературы Т.1

Бердников Георгий Петрович
Научно-образовательная:
история
культурология
литературоведение
5.25
рейтинг книги
История всемирной литературы Т.1

Локки 4 Потомок бога

Решетов Евгений Валерьевич
4. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Локки 4 Потомок бога

Гарнизон

Николаев Игорь Игоревич
Фантастика:
боевая фантастика
космическая фантастика
6.40
рейтинг книги
Гарнизон

Неучтенный элемент. Том 12

NikL
12. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 12

Поэтика Ф. М. Достоевского: опыт интерпретации

Тяпугина Наталия Ю.
Научно-образовательная:
языкознание
7.00
рейтинг книги
Поэтика Ф. М. Достоевского: опыт интерпретации

Королевский казначей

Костейн Томас
Приключения:
исторические приключения
6.00
рейтинг книги
Королевский казначей

Созвездие Козлотура

Искандер Фазиль Абдулович
Проза:
советская классическая проза
6.33
рейтинг книги
Созвездие Козлотура

Суд времени. Выпуски № 23-34

Млечин Леонид Михайлович
Научно-образовательная:
история
политика
5.00
рейтинг книги
Суд времени. Выпуски № 23-34

Волки на границе

Милан Виктор
26. Боевые роботы — BattleTech
Фантастика:
боевая фантастика
6.40
рейтинг книги
Волки на границе