2. Конструкции языка и примитивные типы данных Flashcards
Какие группы примитивных типов существуют?
Целые числа - byte, short, int, long
Числа с плавающей точкой - float, double
Символы - char
Логические значения - boolean
Какие примитивные типы вы знаете?
Целые числа - byte, short, int, long Числа с плавающей точкой - float, double Символы - char Логические значения - boolean * String не является примитивом! *
Какая размерность целых чисел?
byte - 1 байт.
short - 2 байта.
int - 4 байта.
long - 8 байт.
Как расчитать диапазон целых чисел (формула)?
от -2^(n - 1)до 2^(n - 1) -1
где n - количество бит выделенное на число
Для чего -1 в степени?
для хранения знака числа в старшем бите
Для чего -1 в положительной части диапазона?
связано с тем что 0 относится к положительной части диапазона . не верный вариант: 127 - 0111 1111 1 - 0000 0001 0 - 0000 0000 -0 - 1000 0000 -1 - 1000 0001 -127 - 1111 1111 -128 - нет . верный вариант: 127 - 0111 1111 1 - 0000 0001 0 - 0000 0000 -0 - нет -1 - 1111 1111 -127 - 1000 0001 -128 - 1000 0000
Символьный тип. Размерность, диапазон?
char: Тип данных char - это один 16-разрядный (бит) символ Юникода. Он имеет минимальное значение ‘\u0000’ (или 0) и максимальное значение ‘\uffff’ (или 65 535 включительно).
Логический тип. Размерность?
Фактическая информация, представленная логическим значением в Java, является одной бит: 1 для true, 0 для false. Однако фактический размер булевой переменной в памяти точно не определен спецификацией Java
С плавающей точкой тип. Размерность, диапазон?
float - 32 бита (1 бит знак, 8 экспонента, 23 мантисса)
от -3.410^38 до 3.410^38
doublie 64 бита (1 -знак, 11 -экспонента, 52 -мантисса)
от ±1.710^-308 до ±1.710^308
Что такое область видимости?
Область видимости переменных это часть программы где хранятся переменные.
При каких условиях происходит автоматическое приведение типов?
Автоматическое приведение возможно если:
1. Оба типа совместимы
2. Размер целевого типа больше исходного типа
Такое приведение называется расширяющее преобразование
Пример:
int a = 132;
long b = a; // Автоматическое приведение int -> long
———————————–
byte b = 128; // Ошибка компиляции
Как происходит явное приведение типов?
Общая форма приведения типов имеет следующий вид:
(целевой_тип) значение
Пример:
int a = 10;
byte b = (byte) a; // Явное приведение
.
Если приведение происходит от типа с большим диапазоном значений к типу с меньшим
диапазоном значений, то такое приведение называется сужающим.
byte b = (byte) 200; // преобразование 200 % 256 = 200
// так как 200 > 127, то вычитаем диапазон
// 200 - 256 = -56 будет записано в b
К какому типу происходит автоматическое приведение типов в выражениях?
В выражениях происходит автоматическое приведение к типу int. Поэтому, зачастую, этим типом и пользуются. Даже если диапазон чисел не большой