Java как пользоваться boolean

Тип данных boolean и логические операторы — введение в Java 005 #

Boolean в Java — это логический тип данных. Переменная типа boolean может принимать всего два значения — это правда или ложь — true & false. Эти два значения обозначаются в других языках и часто выдаются на экран как 1 и 0, но всё же не равны этим значениям: например, выражение boolean b = 0; приведёт к ошибке при компиляции программы. Но мы можем сравнить переменные или выполнить логическую операцию с типом данных boolean:

 int a = 1, b = 2; boolean bool = a  

Говоря о булевых или логических типах данных, нам придётся освежить свои воспоминания о булевой алгебре и возможных логических операциях.

Таблица истинности #

a b a & b a I b a ^ b ! a
false false false false false true
false true false true true true
true false false true true false
true true true true false false

Давайте представим себе пример из жизни: мы ищем на сайте все статьи, которые мы опубликовали и комментировали. Должны быть два совпадения — это вариант a & b. Или мы ищем все статьи, в которых есть упоминание слов “алгебра” или “математика” — это a | b. А отыскать все статьи, которые написаны не нами, можно, применив логический оператор !a. Стать исключительно космонавтом или медиком — это a ^ b

Это так называемые булевы или логические операции. В интернете много материала по ключевым словам: таблица истинности, булева алгебра, теория множеств, конъюнкция, дизъюнкция.

С помощью таблицы с результатами логических операций можно перепроверить работу Java:

public class NewBoolean   public static void main(String[] args)   boolean a, b, c;  a = true;  b = false;  c = a & b;  System.out.println(c); // returns false because only one of the two required values​is true   int d = 1, f = 2;  boolean bool = d  f;   int i = 10;  int j = 9;  System.out.println(i > j); // returns true, because 10 is higher than 9   System.out.println(10 == 15); // returns false, because 10 is not equal to 15   int x = 10;  System.out.println(x == 10); // returns true, because the value of x is equal to 10  > > 

Надо понимать, что значение вашего чекбокса (галочки) на сайте Facebook при регистрации — “с правилами ознакомлен и согласен” — и есть значение булевой переменной в программе.

Логические операторы, которые поддерживаются Java #

Логический операторы Значение
== Проверка на соответствие (допустим, что a равен b)
!= Не равно (если a не равно b, то)
! Отрицание, логическое не
& Логическое И, and
| Логическое или, or
^ Исключительное или, XOR
&& Укороченный &
|| Укороченный или

Амперсанд — это название знака &.
Карет (англ. caret) — это название знака ^.
Пайп (pipeline), Вертикальная черта — это название знака |.

Мы ещё раз рассмотрим данные операторы позже. Пока мы должны понимать, что с арифметическими операторами всё немного сложнее, чем хотелось бы.

Булева алгебра #

Булева алгебра, ударение на первый слог. БУлева.

Принципиально основы булевой алгебры не должны были давать в школе. Программисты учат её в институте.

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

Дизъюнкция #

Когда мама ИЛИ папа дают мне деньги на карманные расходы, то я бегу и покупаю себе мороженное.

Знакомая ситуация, деньги можно получить в трёх случах из четырёх. В одном случае же деньги может дать и мама, и папа, тогда и друга можно угостить мороженным.

Дизъюнкция - логическое сложение, логическое ИЛИ, включающее или, просто “или”(англ. OR; нем. ODER) В Java операторы "|" и "||"

boolean a = false, b = true, c; c = a | b; 

Пример в технике; дублирование выключателя или кнопки, дверной звонок и звонок у калитки вызывают одну и туже реакцию - включается мелодия звонка.

В учебниках можно встретить обозначение “больше либо равно единице” - =>1.

Конъюнкция #

Конъюнкция - логическое “И”, логическое умножение, просто “И”, “AND”, "&".

В Java оператор "&" и "&&".

boolean a = false, b = true, c; c = a & b; 

Если светит солнце “И” у меня выходной, то я иду купаться на озеро.

Пример из жизни. Ядерный чемоданчик могут активировать только два офицера одновременно. По отдельности чемодан остаётся неактивным.

Антиваленц #

“XOR”, эксклюзивное или, “EOR”, “EXOR”. В Java оператор "^".

boolean a = false, b = true, c; c = a ^ b; 

Только на горных лыжах в Австрии или на лошадях у бабушки в деревне я забываю про свою работу.

Или ты садишься за математику или я расскажу всё отцу.

ИЛИ - ИЛИ. Исключительное или.

Лампочка в больнице может работать от городского электричества или от дизельного генератора в подвале. Но не от двух источников одновременно.

В учебниках можно встретить обозначение “равно единице” - =1.

Отрицание #

Negation. NOT. В Java оператор "!".

Давайте представим огромный станок по продольной распилке леса. В цеху есть две кнопки. Зелёная и красная. При включении зелёной пила должна работать. При нажатии на красную пила должна остановится.

Дополнительные материалы #

  1. Булева алгебра — самое важное
  2. Булева алгебра
  3. Теория множеств
  4. Очень неплохая статья
  5. simulator — симулятор логических выражений в электротехнике. Очень помог мне в своё время вспомнить булеву алгебру.

Домашнее задание #

  1. Что выдаст программа, если запросить значения a, b, c, d, e, f?
  2. Посчитайте сначала в уме и проговорите вслух, что делает каждая строчка.
boolean a = (7+8)*5 > 7+8*5; boolean b = (7+8)*4 != 7+4*5; boolean c = 3+4 > 9+1 & 16-5 > 3*4; boolean d = 16/2 < 6+2 | 4+5  
 System.out.println(a + "\n" + b + "\n" + c + "\n" + d + "\n" + e); 
  1. Петя: “Я не ел. Маша тоже не ела.”
  2. Вася: “Маша действительно не ела. Это сделал Петя”
  3. Маша: “Вася врет. Это он съел.”

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

Источник

Class Boolean

The Boolean class wraps a value of the primitive type boolean in an object. An object of type Boolean contains a single field whose type is boolean .

In addition, this class provides many methods for converting a boolean to a String and a String to a boolean , as well as other constants and methods useful when dealing with a boolean .

This is a value-based class; programmers should treat instances that are equal as interchangeable and should not use instances for synchronization, or unpredictable behavior may occur. For example, in a future release, synchronization may fail.

Field Summary

Constructor Summary

Method Summary

Returns true if and only if the argument is not null and is a Boolean object that represents the same boolean value as this object.

Returns true if and only if the system property named by the argument exists and is equal to, ignoring case, the string "true" .

Methods declared in class java.lang.Object

Field Details

TRUE

FALSE

TYPE

Constructor Details

Boolean

It is rarely appropriate to use this constructor. The static factory valueOf(boolean) is generally a better choice, as it is likely to yield significantly better space and time performance. Also consider using the final fields TRUE and FALSE if possible.

Boolean

It is rarely appropriate to use this constructor. Use parseBoolean(String) to convert a string to a boolean primitive, or use valueOf(String) to convert a string to a Boolean object.

Allocates a Boolean object representing the value true if the string argument is not null and is equal, ignoring case, to the string "true" . Otherwise, allocates a Boolean object representing the value false .

Method Details

parseBoolean

Parses the string argument as a boolean. The boolean returned represents the value true if the string argument is not null and is equal, ignoring case, to the string "true" . Otherwise, a false value is returned, including for a null argument. Example: Boolean.parseBoolean("True") returns true .
Example: Boolean.parseBoolean("yes") returns false .

booleanValue

valueOf

Returns a Boolean instance representing the specified boolean value. If the specified boolean value is true , this method returns Boolean.TRUE ; if it is false , this method returns Boolean.FALSE . If a new Boolean instance is not required, this method should generally be used in preference to the constructor Boolean(boolean) , as this method is likely to yield significantly better space and time performance.

valueOf

Returns a Boolean with a value represented by the specified string. The Boolean returned represents a true value if the string argument is not null and is equal, ignoring case, to the string "true" . Otherwise, a false value is returned, including for a null argument.

toString

Returns a String object representing the specified boolean. If the specified boolean is true , then the string "true" will be returned, otherwise the string "false" will be returned.

toString

Returns a String object representing this Boolean's value. If this object represents the value true , a string equal to "true" is returned. Otherwise, a string equal to "false" is returned.

hashCode

hashCode

equals

Returns true if and only if the argument is not null and is a Boolean object that represents the same boolean value as this object.

getBoolean

Returns true if and only if the system property named by the argument exists and is equal to, ignoring case, the string "true" . A system property is accessible through getProperty , a method defined by the System class. If there is no property with the specified name, or if the specified name is empty or null, then false is returned.

compareTo

compare

Boolean.valueOf(x).compareTo(Boolean.valueOf(y))

logicalAnd

logicalOr

logicalXor

describeConstable

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2023, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

Источник

Читайте также:  Css input style remove
Оцените статью