Примитивные типы Java
Типы различаются по размеру отведенной для них памяти.
Нельзя использовать float и double для точных вычислений и денег !!!
Целочисленные типы :
Тип : | Размер бит(байт) : | Минимальное значение : | Максимальное значение : | Количество состояний : |
---|---|---|---|---|
byte | 8 бит (1 байт) BYTE | -128 | 127 | 256 |
short | 16 бит (2 байта) WORD | -32.768 | 32.767 | 65.536 |
int | 32 бита (4 байта) DWORD | -2.147.483.648 | 2.147.483.647 | 4.294.967.296 |
long | 64 бита (8 байт) QWORD | -922.372.036.854.775.808 | 922.372.036.854.775.807 | 18.446.744.073.709.551.616 |
char | 16 бит (2 байта) WORD | 0 | 65.536 | 65.536 |
Типы с плавающей точкой :
Тип : | Размер бит(байт) : | Диапазон значений : | Точность : |
---|---|---|---|
float | 32 бита (4 байт) DWORD | от -1,4e-45f до 3,4e+38 | 7-8 цифр |
double | 64 бита (8 байт) QWORD | от -4,9e-324 до 1,7e+308 | 17 цифр |
Логический тип :
Переменные булевского типа в Java задаются с помощью ключевого слова booleanи могут иметь лишь одно из двух значений: true или false ,
в спецификации не указан размер в байтах.
Отношение Java типов к типам Си :
Java Type : | Native Type : | Description : |
---|---|---|
boolean | jboolean | unsigned 8 bits |
byte | jbyte | signed 8 bits |
char | jchar | unsigned 16 bits |
short | jshort | signed 16 bits |
int | jint | signed 32 bits |
long | jlong | signed 64 bits |
float | jfloat | 32 bits |
double | jdouble | 64 bits |
void | void | N/A |
Пример:
byte binary = 0b00010101; //двоичный формат записи
byte decimal = 119; //десятичный формат записи
byte oct = 07; //восьмеричный формат записи (начинается с нуля)
byte hex = 0x7; //шестнадцатеричный формат записи
byte symbol = 'a'; //будет взят код символа
char letter = 'D'; // будет взята сама буква
char number = 64; // будет взята буква по её коду символа в таблице
char symbol = '\u0042'; // "\u" , за которой следует четырехзначное шестнадцатеричное
// число (в диапазоне от 0000 до FFFF), представляющее собой код символа в Unicode
boolean logic = true;