Теперь более подробно рассмотрим примитивные типы данных Java. Как уже упоминалось их восемь. В Java размеры всех примитивных типов жестко фиксированы. Они не меняются с переходом на иную машинную архитектуру, как это происходит во многих других языках. Незыблемость размера — одна из причин улучшенной переносимости Java-npoгpaмм.
Все примитивные типы имею своих двойников старших братьев, которые являются полноценными объектами и имеют свои поля (свойства) и методы. Эти классы еще называют обертками или упаковками для примитивных типов. Все это представлено в таблице ниже:
Тип | Содержит | По умолчанию | Размер | Диапазон | Обертки |
boolean | true или false | flase | 1 bit | не применимо | Boolean |
char | целое без знаковое | \u0000 | 16 bits | от \u0000 до \uFFFF | Charaster |
byte | целое знаковое | 0 | 8 bits | от -128 до 127 | Byte |
short | целое знаковое | 0 | 16 bits | от -32768 до 32767 | Short |
int | целое знаковое | 0 | 32 bits | от -2147483648 до 2147483647 | Integer |
long | целое знаковое | 0 | 64 bits | от -9223372036854775808 до 9223372036854775807 | Long |
float | вещественное знаковое | 0.0 | 32 bits | от 1.4E−45 до 3.4028235E+38 | Float |
double | вещественное знаковое | 0.0 | 64 bits | от 4.9E−324 до 1.7976931348623157E+308 | Double |
О типе данных char надо отметить, что он содержит код симола Unicode.
Что касается значений по умолчанию, то они могут быть присвоены только полям класса. Локальные же переменные необходимо инициализировать самим в коде программы, иначе компилятор выдаст ошибку. Вообще хорошим стилем программирования является явная инициализация всех перемененных в программе. Я на простом примере покажу что это такое значения по умолчанию, дабы стало понятней.
Сперва приведу пример с ошибкой попытки присвоения значения по умолчанию локальной переменной:
Здесь в 16 строке мы попытались вывести на консоль значение локальной переменной localInt, которую предварительно не инициализировали (не присвоили) ни каким допустимым значением. На что нам была выдана ошибка компиляции. В то время как для переменной defInt, такой ошибки выдано не было.
На копипасту внимания не обращаем, лень было переделывать скриншот
Теперь изменим программу чтобы вывести значения по умолчанию на печать для статичных полей класса:
И посмотрим что эта программа выводит в терминал:
Как говорится: “Что и требовалось доказать”.
Для типа char выведено пустое значение так как код \u0000 относится к непечатным символам.
Так же стоит упомянуть и взять на заметку, что для любого объекта и строки (String) значением по умолчанию является null. Ну это так на заметку.
Далее уже будем рассматривать подробно каждый примитивный тип и операции которые можно над ним совершать.
Комментариев нет:
Отправить комментарий