Читайте также:
|
|
Java — язык со строгой типизацией (strongly typed language).
Разберем каждый тип подробнее.
Рис. 1.2. Типы данных языка Java
Логический тип
Значения логического типа boolean возникают в результате различных сравнений, вроде 2 > з, и используются, главным образом, в условных операторах и операторах циклов. Логических значении всего два: true (истина) и false (ложь). Это служебные слова Java. Описание переменных этого типа выглядит так:
boolean b = true, bb = false, bool2;
Над логическими данными можно выполнять операции присваивания, например, bool2 = true, в том числе и составные с логическими операциями; сравнение на равенство b == bb и на неравенство b!= bb, а также логические операции.
Логические операции
Логические операции:
отрицание (NOT)! (обозначается восклицательным знаком);
конъюнкция (AND) & (амперсанд);
дизъюнкция (OR) | (вертикальная черта);
исключающее ИЛИ (XOR) ^ (каре).
Они выполняются над логическими данными, их результатом будет тоже логическое значение true или false. Про них можно ничего не знать, кроме того, что представлено в табл. 1.1.
Таблица 1.1. Логические операции
B1
B2
!b1
b1&b2
b1|b2
b1^b2
True
True
False
True
True
False
True
False
False
False
True
True
False
True
True
False
True
True
False
False
True
False
False
False
Словами эти правила можно выразить так:
Отрицание меняет значение истинности;
Конъюнкция истинна, только если оба операнда истинны;
Дизъюнкция ложна, только если оба операнда ложны;
Исключающее ИЛИ истинно, только если значения операндов различны.
Замечание
Если бы Шекспир был программистом, фразу "То be or not to be" он написал бы так: 2b |! 2b.
Кроме перечисленных четырех логических операций есть еще две логические операции сокращенного вычисления:
сокращенная конъюнкция (conditional-AND) &&;
сокращенная дизъюнкция (conditional-OR) ||.
Удвоенные знаки амперсанда и вертикальной черты следует записывать без пробелов.
Правый операнд сокращенных операций вычисляется только в том случае, если от него зависит результат операции, т. е. если левый операнд конъюнкции имеет значение true, или левый операнд дизъюнкции имеет значение false.
Это правило очень удобно и ловко используется, например, можно записывать выражения (n!= 0) && (m/n > 0.001) или (n == 0) || (m/n > 0.001) не опасаясь деления на нуль.
Замечание
Практически всегда в Java используются именно сокращенные логические операции.
Дата добавления: 2015-09-11; просмотров: 75 | Поможем написать вашу работу | Нарушение авторских прав |