Java

Помогите с Джавой!!! И объясните почему

Укажите пары эквивалентных булевских операторов.

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

Если ответ не очевиден, то составьте таблицы истинности для всех упомянутых операторов и сравните их.

1) & и ==
2) | и !=
3) | и ||
4) ^ и !=
Васек Мел
Васек Мел
264
Правильный ответ:
| и || - ок (одно и тоже)
^ и != - ок
a^b :0110
a!=b :0110
ОМ
Олег Максименко
552
Лучший ответ
Nicat Melikov Спасибо
3 однозначно верный вариант.
PT
Paata Talakhadze
5 516
1) да
a=1, b=1: a & b = true, a==b = true
a=1, b=0: a & b = false, a==b = false
a=0, b=1: a & b = false, a==b = false
a=0, b=0: a & b = true, a==b = true
2) нет
a=1, b=1: a | b = true, a!=b = false - уже различие
a=1, b=0: a | b = true, a!=b = true
a=0, b=1: a | b = true, a!=b = true
a=0, b=0: a | b = false, a!=b = false
3) да - ибо это вообще одно и то же
4) нет, но это адовый пиздeц
a=1, b=1: a ^ b = false, a!=b = true - отличие
a=1, b=0: a ^ b = true, a!=b = true
a=0, b=1: a ^ b = true, a!=b = true
a=0, b=0: a ^ b = false, a!=b = false
Paata Talakhadze 1 нет, потому что
false == false вернёт true, а
false && false вернёт false
Paata Talakhadze Ты вообще какую то ересь написал, в яве инт не может использоватся как булевое значение.
Я конечно поступлю не совсем хорошо, дав ответ здесь на ваш вопрос из курса Степика, для остальных тоже))
Но считаю, что помогу кому-то не опустить руки, из-за того, что мысли просто запутались, при том, что тему понимают. В итоге дело лишь во внимательности.

И так, ниже таблица-ответ, взятая за основу из комментария ниже здесь (спасибо). Пройдясь по которой, вы, сверив результаты найдете ответы, какие операторы дают одинаковые булевы значения (true или false):

побит. И и Равентство
& и = =
a=1, b=1: a & b = 1, a==b = true - нет
a=1, b=0: a & b = 0, a==b = false
a=0, b=1: a & b = 0, a==b = false
a=0, b=0: a & b = 0, a==b = true !

побит. ИЛИ и Не равенство
| и !=
a=1, b=1: a | b = 1, a!=b = false - нет
a=1, b=0: a | b = 1, a!=b = true
a=0, b=1: a | b = 1, a!=b = true
a=0, b=0: a | b = 0, a!=b = false

побит. Искл. ИЛИ и Не равенство
^ и !=
a=1, b=1: a ^ b = 0, a!=b = false - да
a=1, b=0: a ^ b = 1, a!=b = true
a=0, b=1: a ^ b = 1, a!=b = true
a=0, b=0: a ^ b = 0, a!=b = false

побит. ИЛИ и лог. ИЛИ
| и | |
a=1, b=1: a | b = 1, a || b = true - да
a=1, b=0: a | b = 1, a || b = true
a=0, b=1: a | b = 1, a || b = true
a=0, b=0: a | b = 0, a || b = false

В примере задачи не имеет значение побитово считать или "сравнивать". Хотя это две разные вещи. Важен лишь ответ - истина или ложь.
Третий и четвертый вариант :)