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

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

Жанры

Основы программирования на 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 и не используются как целые числа, вы можете оперировать с ними так, как если бы они были целыми. Это дает вам возможность сложить два символа вместе, или инкрементировать значение символьной переменной. В приведенном ниже фрагменте кода мы, располагая базовым символом, прибавляем к нему целое число, чтобы получить символьное представление нужной нам цифры,

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

Грусть белых ночей

Науменко Иван Яковлевич
Библиотека "Дружбы народов"
Проза:
советская классическая проза
5.00
рейтинг книги
Грусть белых ночей

Первый среди равных. Книга VII

Бор Жорж
7. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Первый среди равных. Книга VII

Золотой ворон

Сакавич Нора
5. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Золотой ворон

Фрегат Звенящий (сборник)

Крапивин Владислав Петрович
24. Владислав Крапивин собрание сочинений
Детские:
детская фантастика
5.00
рейтинг книги
Фрегат Звенящий (сборник)

Warhammer: Битвы в Мире Фэнтези. Омнибус. Том 2

Коллектив авторов
Warhammer Fantasy Battles
Фантастика:
фэнтези
5.00
рейтинг книги
Warhammer: Битвы в Мире Фэнтези. Омнибус. Том 2

Возвращение

Кораблев Родион
5. Другая сторона
Фантастика:
боевая фантастика
6.23
рейтинг книги
Возвращение

Облава на волка

Серегин Михаил Георгиевич
Детективы:
боевики
5.00
рейтинг книги
Облава на волка

Земноморье (сборник)

Ле Гуин Урсула Кребер
Фантастика:
фэнтези
9.11
рейтинг книги
Земноморье (сборник)

На границе империй. Том 10. Часть 1

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 1

Антология советского детектива-45. Компиляция. Книги 1-22

Семенов Юлиан Семенович
Детективы:
криминальные детективы
5.00
рейтинг книги
Антология советского детектива-45. Компиляция. Книги 1-22

Я до сих пор царь. Книга XXXII

Дрейк Сириус
32. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор царь. Книга XXXII

Бог гномов

Иванов Борис Федорович
10. Хроники XXXIII миров
Фантастика:
научная фантастика
космическая фантастика
детективная фантастика
6.20
рейтинг книги
Бог гномов

Герда

Веркин Эдуард Николаевич
Детские:
детская проза
5.00
рейтинг книги
Герда

Возлюби болезнь свою

Синельников Валерий Владимирович
Научно-образовательная:
психология
7.71
рейтинг книги
Возлюби болезнь свою