- •Исследование операторов Java Подготовка к занятию
- •Операторы сравнения
- •1.1. Справочная информация
- •1.2. Задание для практической работы
- •Логические операторы
- •2.1. Справочная информация
- •2.2. Задание для практической работы
- •3. Побитовые операторы
- •3.1. Справочная информация
- •3.2. Задание для практической работы
1.2. Задание для практической работы
а). Дополните код главного класса проекта строками, выполнение которых в приложении позволит пояснить особенности работы операторов сравнения.
б). Дополните строки программы, введенные согласно п.1.2а, строчными комментариями.
в). Для каждого оператора сравнения получите скрины окон кода и вывода по примеру рис.2 и рис.3(см. пз-4).
г). Разместите строки кода, введенные согласно п.1.2а и п.1.2б, в блочном комментарии.
Примечание:
Выполнение заданий по п.1.2а и п.1.2б для очередного оператора сравнения осуществляйте после выполнения задания по п.1.2г для предыдущего.
Логические операторы
2.1. Справочная информация
В языке Java определены 3 группы логических операторов:
основные логические операторы;
сокращенные логические операторы;
составные логические операторы с присваиванием
Основные и сокращенные логические операторы;
В языке Java есть 4 основных: логических оператора:
логическое унарное НЕ (NOT) - !;
логическое И (AND) - &;
логическое ИЛИ(OR) - |;
логическое исключающее ИЛИ (XOR) - ^.
Кроме них есть 2 оператора, обеспечивающие сокращенную форму выполнения :
сокращенное логическое И (AND) - &&;
сокращенное логическое ИЛИ(OR) - ||;
Логические операторы работают только с операндами типа boolean.
Все логические операторы с двумя операндами объединяют два логических значения, образуя результирующее логическое значение в соответствии с табл. 5.1.
Таблица 5.1. Результаты выполнения логических операторов
a |
b |
!a |
a & b |
a | b |
a ^ b |
a && b |
a || b |
true true false false |
true false true false |
false false true true |
true false false false |
true true true false |
false true true false |
true false false false |
true true true false |
Логические операторы "и" и "или" ( & и | ) можно использовать в двух вариантах. Это связано с тем, что, как легко убедиться, для каждого оператора возможны случаи, когда значение первого операнда сразу определяет значение всего логического выражения. Если вторым операндом является значение некоторой функции, то появляется выбор – вызывать ее или нет, причем это решение может сказаться как на скорости, так и на функциональности программы.
Первый вариант операторов ( &, | ) всегда вычисляет оба операнда, второй же – ( &&, || ) не будет продолжать вычисления, если значение выражения уже очевидно.
Например:
int x=1;
(x>0) | calculate(x) // в таком выражении
// произойдет вызов
// calculate
(x>0) || calculate(x) // а в этом - нет
Логический оператор отрицания "НЕ" записывается как ! и, конечно, имеет только один вариант использования. Этот оператор меняет булевское значение на противоположное.
Составные логические операторы с присваиванием
Подобно арифметическим все логические операторы имеют составную форму, которая объединяет логические операторы с оператором присывивания(см. табл. 2.5).
Примечание:
Дополнительные сведения по данному вопросу можно получить из документов:
Приложение 5.1пз.doc
Приложение 5.2пз.doc
Таблица 2.4. Простые специальные символы.doc
Таблица 2.5. Составные специальные символы.doc
