자바에있는 다음 코드 값에자바 사후 증가 및 사전 증가
int a = 0, b = 0, c = 0;
boolean d = (a++ > 0 && b-- < 0) || --c < 0;
결과 : a
= 1 인 이유는 포스트이기 때문에
a = 1, b = 0, c = -1 and d = true
나는 이해가 안 돼요 또한 값 b와 같은 방식으로 반응해야합니다. 또한 b--
을 --b
으로 변경하면 여전히 b 값에 아무런 영향을 미치지 않습니다.
이 논리를 이해하는 가장 좋은 방법은 무엇입니까?
[Java가 연결을 평가할 때 ( && ), exp1이 false 인 경우에는 exp2를 계산합니까?] (https://stackoverflow.com/questions/9445145/when-java) -evaluates-a-combine-boolean-exp1-boolean-exp2-does-it-ev) –
Joe
일반적으로 이러한 코드는 실제 프로그래밍에서 피해야하며 오버 슛입니다. 이해합니다. 여기 교육적 배경이 있습니다 –
참고 사항 [Java short-circuit operators] (https://stackoverflow.com/a/8759917/8097737) – devpuh