Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
147
Добавлен:
16.05.2015
Размер:
2.44 Mб
Скачать

Присваивание значений в выражениях

В общем виде оператор присваивания имеет вид:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Операции Java Арифметические операции языка

Основные арифметические операции сведены в таблицу 2.

Таблица 2. Арифметические операции

Операция

Назначение

+

Сложение

-

Вычитание

*

Умножение

/

Деление

%

Получение остатка от деления

++

Инкремент

+=

Присваивание со сложением

-=

Присваивание с вычитанием

*=

Присваивание с умножением

/=

Присваивание с делением

%=

Присваивание с модулем

(остаток от деления)

--

Декремент

Кроме арифметических операций в языке Java определены битовые – поразрядные операции. Они применимы к переменным типа long, int, byte, char, short (см. таблицу 3).

Таблица 3. Поразрядные операции

Операция

Назначение

~

Отрицание

&

Конъюнкция (И)

|

Дизъюнкция (ИЛИ)

^

Исключающее ИЛИ

>>

Правый сдвиг

>>>

Сдвиг в право с заполнением старшего бита нулем

<<

Левый сдвиг

&=

Присваивание И

|=

Присваивание ИЛИ

^=

Присваивание с исключающим ИЛИ

>>=

Присваивание с правым сдвигом

>>>=

Присваивание со сдвигом вправо, старший бит заполняется нулем

<<=

Присваивание со сдвигом влево

При составлении условий используются логические операции из таблицы 4.

Таблица 4. Логические операции

Операция

Назначение

==

Сравнение

!=

Не равно

>

Больше

<

Меньше

>=

Больше, либо равно

<=

Меньше, либо равно

Результат логической операции – значение типа boolean. Результаты выполнения логических операций можно использовать в логических выражениях. Такие выражения составляют с помощью булевых операций таблицы 5.

Таблица 5. Булевы операции

Операция

Назначение

!

Отрицание

&&

Логическая операция И

||

Логическая операция ИЛИ

^

Логическая операция исключающее ИЛИ

Соседние файлы в папке ModelEkzamen_1