Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Бочкарев А.А. Моделирование в среде AnyLogic. К...doc
Скачиваний:
49
Добавлен:
22.11.2019
Размер:
1.02 Mб
Скачать

2.3. Типы данных Java. Присваивание значения в выражениях

В языке используются типы данных, приведенные в табл. 2.1.

Таблица 2.1

Типы данных

Тип

Разрядность

Особенности

long

64

Целый тип

от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

int

32

Целый тип

от -2 147 483 648

до 2 147 483 647

short

16

Целый тип с диапазоном кодирования:

+32768 до –32767

byte

8

Целый тип с диапазоном кодирования

-128 до +127

double

64

Вещественный тип с диапазоном кодирования:

+1.7е±308 до -1.7е±308

float

32

Вещественный тип с диапазоном кодирования:

+3.4е±38 до -3.4е±38

char

16

Код символа в международной кодировке Unicode.

boolean

Логические тип данных для хранения одного из двух значений true или false

Переменная задается в следующем виде:

тип переменная=начальное_значение;

Задавать начальное значение не обязательно.

При работе с числами рекомендуется использовать типы int и double, так как современные процессы такие типы обрабатывают с оптимальной скоростью. Кроме того, многие математические методы Java возвращают результат как double.

Присваивание значений в выражениях в общем виде имеет вид:

v=результат_выражения;

где v – переменная определенного типа.

При выполнении присваивания нужно учитывать правила приведения типов. Если тип переменной в левой части и тип результата выражения совместны, то происходит автоматическое преобразование типов. Такое преобразование возможно, если выполнено два условия:

  • два типа совместимы;

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

При выполнении этих условий говорят расширяющем преобразовании. Например, к типу int (разрядность 32) возможно преобразование типа byte (8 разрядов).

В языке Java определены следующие правила расширения:

  • если операнды в выражении относятся к типам byte и short то они автоматически расширяются до типа int перед проведением вычислений;

  • если один операнд имеет тип long, тип целого выражения до long;

  • если один операнд – типа float, то тип всего выражения расширяется до float;

  • если тип любого из операндов – double, то тип результата – также double.

Результат деления целых чисел дает вещественное значение.

При преобразовании переменных несовместимых типов используется явное приведение типов:

v=type) результат_выражения;

где type – тип переменной в левой части оператора присваивания.

Преобразование такого типа бывает:

  • сужающим – когда выполняется приведение от типа с большей разрядностью к типу с меньшей разрядностью.

  • усеченным – когда вещественный тип преобразуется к целому при этом дробная часть числа отбрасывается.