2013-12-04 3 views
0

Я не понимаю, что размер полужирным шрифтом фактически представляет. Пожалуйста, поправьте меня, если я ошибаюсь.Как читать этот оператор NOT?

30 НЕ равен 30 является ложным ИЛИ НЕ (17 равно 17 (true) И 20 больше, чем 21 (false)) // Я не получаю этот, просто я переворачиваю все, что имеет значение - 1 before(), поэтому заявление будет выглядеть так: 17!=17(false) && 20<21(true). Я потерян здесь. Спасибо за любой совет.

boolean m; 
m = ((30!=30) || !(17==17 && 20>21)) 
SOP(m); 

true || ложный ?

ответ

0

Оператор ! работает на одном boolean типа и возвращает противоположность этого значения.

Давайте разберем все это вниз:

(30!=30 || !(17==17 && 20>21)) 
(false || !(true && false)) 
(false || !(  false )) 
(false || true)) 
(  true  ) 
0

Рассмотрим сравнение слева от OR ... то есть 30! = 30. Это неверно. Так

m = (false || !(17==17 && 20>21)) 

Следующая 17 равно 17,

m = (false || !(true && 20>21)) 

Следующая 20 не> то 21, так что ложь ....

m = (false || !(true && false)) 

Следующая истина и ложь является ложным. .. так

m = (false || !(false)) 

А это позволяет нам достичь

m = (false || true) 

Так

m = true 
0

m будет равна true, потому что ...

30!=30 = false 

17==17 = true 

20>21 = false 

так ...

(false || ! (true && false)) 

так ...

(false || ! false) 

так ...

(false || true) 

так ..

true 

Я всегда нахожу это помогает расширить свои расчеты, так сказать.

+1

20> 21 не соответствует действительности. – EJP

+0

Сонная голова ... Извините! – unknowndomain

0

Это условие будет true

boolean m = (A || B) 

Здесь А (30!=30)

and B is `!(17==17 && 20>21)` 

Очевидно, WIIL быть ложным;

!(17==17 && 20>21) равен !(true && false), равно !false, равно true.

Тогда т = (A||B) равно (false || true) равна true

0

Позволяет пройти через этот шаг за шагом.

Исходная проблема:

m = ((30!=30) || !(17==17 && 20>21)) 

Мы знаем, что 30 равно 30, так что 30 = 30 является ложным:

m = ((false) || !(17==17 && 20>21)) 

Потому что это или заявление, мы можем удалить фальшивый часть:

m = !(17==17 && 20>21) 

Мы знаем, что 17 равно 17 (или мир будет заканчиваться), а 20 меньше, чем 21 так:

m = !(true and false) 

Истинные и ложные принимает значение ложь, поэтому мы имеем:

m = !false 

Это делает м стать true.

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