2016-06-26 1 views
-7

Я принимал курс java по edx. Для этого вопроса условие x ++ == 4. Я попытался и выяснил, что только когда я вхожу в значение x, равное 4, условие оценивается как true. Но почему?Как x ++ == 4 условие?

1) Почему при вводе x = 3 или x = 2 условие оценивается как false?

2) Почему x ++ == 4 даже условие? это как x = x + 4. Как это может быть истинным или ложным? Это уравнение, а не как х> 3 и т.д.

enter image description here

+3

'x ++ == 4' не похож на' x = x + 4'. –

+0

смотрите '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' – pvg

+0

Почему это должно быть * не * быть условием? * «Это уравнение» * - ** no **, есть '=='. – luk2302

ответ

0
if (x++==4) { ... } 

может быть просто заменить следующие строки

boolean b = (x == 4); 
x = x + 1; 
if (b) { ... } 

Вы оценить, если x будет равна 4 и затем увеличить с использованием Postfix increment Operator ++


Почему при вводе x = 3 или x = 2 условие принимает значение false?

Поскольку

3 == 4; // false 
2 == 4; // false 
+0

Вы должны немного расширить свой код; он в настоящее время не компилируется, потому что 'x == 4' не является выражением и т. д. Я предлагаю редактировать, чтобы сделать ваше утверждение более точным (не стесняйтесь откатываться, если вы не согласны). (Не downvoter) –

+0

@AndyTurner Спасибо за редактирование, это действительно понятно. Я не против downvotes .. До тех пор, как ответ правильный –

+0

Спасибо за быстрый ответ! Мне интересно, должно ли оно быть boolean b = (x == 4); if (b) {...} x = x + 1; так как это постфиксный прирост. – vade

0

Это происходит потому, что x==4 является условием? Therfore х ++ просто приращение на значение, если переменная

Dont пусть ++, чтобы обмануть свой ум ...

то же самое может произойти даже на самых уродливых способов, как

if (x---5==0) { который как раз случается be

if ((x--)-5==0) { 
+0

Спасибо за ответ. Итак, ваш пример эквивалентен if (x == 5) {}, а затем x = x - 1? – vade

+0

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

+0

скоро или последним вы проверите, это не очень хорошая идея, потому что переполнение может нарушить условие дыр ... –