2016-06-26 5 views
-7

나는 edx에서 자바 코스를하고 있었다. 이 질문에 대한 조건은 x ++ == 4입니다. 나는 x 값을 4로 입력했을 때만 조건이 true로 평가된다는 것을 알았습니다. 하지만 왜?x ++ == 4는 어떤 상태입니까?

1) x = 3 또는 x = 2를 입력하면 조건이 false로 평가되는 이유는 무엇입니까?

2) x ++ == 4가 왜 조건일까요? 그것은 x = x + 4와 같습니다. 어떻게 그것이 진실이거나 거짓 일 수 있습니까? 그것은 방정식입니다, 마음에 들지 X> 3 등

enter image description here

+3

'x ++ == 4'는'x = x + 4'와 다릅니다. –

+0

는'++'단항 연산자와'=='를 찾는다. – pvg

+0

왜 그게 * 아니 * * 상태 여야합니까? * "방정식"* - ** no **,'=='이 있습니다. – luk2302

답변

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

단순히 당신은 x4에 동일 경우 평가

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

다음 행으로 교체 한 후 증가 될 수있다 그것을 사용하여 그것 Postfix increment Operator ++


x = 3 또는 x = 2를 입력하면 조건이 false로 평가되는 이유는 무엇입니까? x==4이 상태이므로

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

코드를 약간 확장해야합니다. 'x == 4'는 문장이 아니기 때문에 현재 컴파일되지 않을 것입니다. 문장을보다 정확하게 편집 할 것을 제안합니다 (동의하지 않으면 되돌릴 수 있습니다). (downvoter가 아닙니다) –

+0

@AndyTurner 편집 해 주셔서 감사합니다. 실제로 더 명확합니다. 나는 downvotes 상관 없어 ..만큼 대답은 정확합니다 –

+0

빠른 답변을 주셔서 감사합니다! 부울 b = (x == 4)이어야하는지 궁금하네요; (b) {...} x = x + 1; 이는 후위 증가분이기 때문입니다. – vade

0

때문에? 변수

망가은 ++가 당신의 마음을 속여 할 경우 X ++는 값에 단지 증가는 ... therfore이다

같은 단지에 발생

if (x---5==0) { 같은도에 추악한 방법으로 일어날 수

be

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

답변 해 주셔서 감사합니다. 그래서 당신의 예제는 동등합니다 (x == 5) {} 그리고 나중에 x = x - 1? – vade

+0

예 ... 내가 요를 얻고 자하는 요점 인 예를 위해서 .... –

+0

곧 또는 후반에 확인해 보겠습니다. 오버플로 때문에 구멍 상태가 깨질 수 있기 때문에 좋은 생각이 아닙니다 ... –