Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Типы данных

Читайте также:
  1. I.2.3. Обработка исходных данных в режиме таблицы
  2. PROFIBUS Слой Связи Данных (слой 2)
  3. SIMD – одиночный поток команд и множественный поток данных.
  4. Trading Techniques Inc. предоставляет месячные, недельные, дневные и почасовые (60 минут) данные по всем фьючерсам с помощью сервиса загрузки данных.
  5. Анализ данных и подготовка заключительного доклада
  6. Анализ данных и подготовка заключительного отчета
  7. Анализ и интерпретация данных
  8. Анализ и интерпретация данных экспериментально-психологического исследования.
  9. Анализ исходных данных и подбор компонентов и деталей
  10. Ассиметричное распределение и преобразование данных

В языке Java определено восемь простых (или примитивных) типов данных. Для каждого простого типа данных отводится конкретный размер памяти, не зависящий от платформы, на которой выполняется приложение Java:

Таблица

Тип данных Размер занимаемой области памяти Значение по умолчанию
boolean   false
byte    
char   'x0'
short    
int    
long    
float   0.0f
double   0.0d

Фактически размеры памяти, отведенные для хранения переменной, могут отличаться от приведенных выше, например, для хранения переменной типа short может быть зарезервировано слово размером 32 бита. Так как в языке Java нет указателей, вы не можете адресоваться к элементам массива чисел по относительному смещению этих элементов в оперативной памяти. Следовательно, точный размер элемента в данном случае не играет никакой роли.

Переменные простых типов инициализируются либо по умолчанию, либо явно. Однако участвовать в вычислениях могут только явно инициализированные переменные.

byte n =2;

float f;

int i; // инициализация 0 по умолчанию

...

f=(float)i/n; // ошибка, переменная i не инициализирована явно

i = 7;

f=(float)i/n; // верно

Переменные типа boolean могут принимать только два значения − true и false, не соотносимые с целыми значениями. Нельзя, выполнить преобразование типа boolean, например, к типу int.

 

В языке Java все целочисленные простые типы данных (byte, short, int и long) являются знаковыми.

Приложение Java может оперировать данными в формате с плавающей точкой, используемыми для хранения чисел с одинарной точностью (float), и с двойной (double).

Простые типы данных также имеют классы «оболочки» − встроенные замещающие классы, которые могут использоваться для создания объектов на основе этих типов. Например, вместо типа int использовать класс Integer, вместо типа long − класс Long и так далее.

Инициализации этих объектов должна выполняться с помощью конструктора, например:

int val = 5;

Integer Val; // создание неинициализированной ссылки

Val=new Integer(val); // инициализация ссылки

или

Integer Val=new Integer(5); // создание и инициализация ссылки

При этом не может использоваться конструктор без параметра.

После выполнения оператора присваивания ссылка Val будет ссылаться на реальный объект класса Integer и ее можно использовать. Пытка же использовать неинициализированную ссылку приводит к исключению.

Имя объекта Val типа Integer можно передавать функциям в качестве параметра, причем это будет ссылкой на объект.

Одна из существенных особенностей языка Java, состоит в том, что в языке Java нет указателей. Использование указателей в других языках часто приводит к появлению трудно обнаруживаемых ошибок. Поэтому разработчики Java решили отказаться от использования указателей совсем.

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

int val; // некоторая переменная

void ChangeVal(int *pVal, int nVal)

{

*pVal=nVal;

}

...

ChangeVal(&val, 5); // вызов функции

Язык Java позволяет использовать вместо указателей ссылки на объекты. Пользуясь этими ссылками, можно адресовать объекты по их имени, вызывая методы и изменяя значения данных объектов.




Дата добавления: 2015-09-11; просмотров: 20 | Поможем написать вашу работу | Нарушение авторских прав

Язык JAVA | Многомерные массивы | Вызов конструктора из конструктора | Ключевое слово static | Как работает сборщик мусора | Использование ключевого слова super | Абстрактные классы | Использование final с наследованием | Оператор import | Оператор implements |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав