2013-11-02 4 views
-4

Im пытаясь проверить, если case1 и или case2Можно ли использовать && и || операторы в том же операторе if в Java?

и придумал следующий код

if(case1 && || case2).. 

, но это не похоже на работу, это даже можно использовать два оператора, как это? если нет, то есть какая-нибудь работа?

+4

Это также не имеет никакого смысла ... вы думали о том, чего пытаетесь достичь? -> вы не можете использовать такие операторы. Вы знаете о булевой алгебре? –

+0

Итак, вы хотите, чтобы case1 и case2 были истинными или case1 или case2, чтобы быть правдой? Ваше заявление не имеет никакого смысла – AppX

+0

и + или? WTF? Вы получаете это логическое? – Kong

ответ

2

№ Оба обоих случая1 AND case2 должен быть правдой OR один из них.

if (case1 || case2) {....} 
+0

Я не реализовал и не выполнил оператор, и уже, спасибо – Ilja

+0

@Ilja: У вас, похоже, есть фундаментальное непонимание OR. ИЛИ не реализует AND, это просто так: «true OR true» истинно; это свойство OR, всегда было, всегда будет. –

0

это не будет работать, и вам это тоже не понадобится.

Есть три условия:

  1. как условие истинно
  2. любой один из них является истинным
  3. ни один из них является истинным

условие 1 && оператора

Для условий 2 || оператор

состояние 3 ~ из 2 состояние. Поскольку все являются взаимными извинениями, вам не нужно то, что вы сказали.

+0

@downvoter, пожалуйста, скажите почему? – Trying

1

|| есть «и/или» уже. Вам нужно будет работать, чтобы получить «эксклюзивную» или (a.k.a. XOR).

1

И/ИЛИ - это то же, что и OR. Вы хотите case1 || case2:

case1 case2 case1 and case2 case1 or case2 case1 and/or case2 
    0  0   0    0     0 
    0  1   0    1     1 
    1  0   0    1     1 
    1  1   1    1     1 

Как вы можете видеть, это просто OR.

Истина ИЛИ истинна, это как раз то, как работает OR. См. http://en.wikipedia.org/wiki/Logical_disjunction.

Нет такой вещи, как «И/ИЛИ». Похоже, что вы сбивали с толку OR с эксклюзивным OR.

Смежные вопросы