Страницы

7 апр. 2015 г.

Типы данных Java – Примитивные типы

Теперь более подробно рассмотрим примитивные типы данных 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.

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

Сперва приведу пример с ошибкой попытки присвоения значения по умолчанию локальной переменной:

PT0002

Здесь в 16 строке мы попытались вывести на консоль значение локальной переменной localInt, которую предварительно не инициализировали (не присвоили) ни каким допустимым значением. На что нам была выдана ошибка компиляции. В то время как для переменной defInt, такой ошибки выдано не было.

На копипасту внимания не обращаем, лень было переделывать скриншот Smile

Теперь изменим программу чтобы вывести значения по умолчанию на печать для статичных полей класса:

PT0003

И посмотрим что эта программа выводит в терминал:

PT0004

Как говорится: “Что и требовалось доказать”. Smile

Для типа char выведено пустое значение так как код \u0000 относится к непечатным символам.

Так же стоит упомянуть и взять на заметку, что для любого объекта и строки (String) значением по умолчанию является null. Ну это так на заметку.

Далее уже будем рассматривать подробно каждый примитивный тип и операции которые можно над ним совершать.

Комментариев нет:

Отправить комментарий