Компонентный подход в программировании

Логический тип


В Java он назван boolean, а его обертка — java.lang.Boolean.

В C# он назван bool, а его обертка — System.Boolean.

Значения этого типа — логические значения, их всего два — true и false. Нет никаких неявных преобразований между логическими и целочисленными значениями. Над значениями этого типа определены следующие операции:

  • == и != — сравнения на равенство и неравенство.
  • ! — отрицание.
  • && и || — условные (короткие) конъюнкция и дизъюнкция (‘и’ и ‘или’). Второй аргумент этих операций не вычисляется, если по значению первого уже ясно, чему равно значение выражения, т.е. в случае конъюнкции — если первый аргумент равен false, а в случае дизъюнкции — если первый аргумент равен true. С помощью условного оператора ?: их можно записать так: (x && y) — ((x)?(y): false), (x || y) — ((x)? true :(y)). Напомним, что означает условный оператор — выражение a?x:y вычисляет значение a, если оно true, то вычисляется и возвращается значение x, иначе вычисляется и возвращается значение y.
  • & и | — (длинные) конъюнкция и дизъюнкция (‘и’ и ‘или’). У этих операций оба аргумента вычисляются всегда.
  • ^ — исключающее ‘или’ или сумма по модулю 2.
  • Для операций &, |, ^ имеются соответствующие операторы присваивания &=, |=, ^=. Выражение x op= y, где op — одна из операций &, |, ^, имеет тот же эффект, что и выражение x = ((x) op (y)), за исключением того, что значение x вычисляется ровно один раз.



Содержание раздела