次のコード:値ののJavaポストインクリメントとプレインクリメントJavaで
int a = 0, b = 0, c = 0;
boolean d = (a++ > 0 && b-- < 0) || --c < 0;
結果:
a = 1, b = 0, c = -1 and d = true
それがポストなのでa
は、= 1である理由私は理解していませんまた、値bと同じ方法で反応する必要があります。また、b--
を--b
に変更しても、bの値には影響しません。
このロジックを理解する最も良い方法は何ですか?
Javaが結合を評価すると( && )、exp1がfalseの場合はexp2になりますか?](https://stackoverflow.com/questions/9445145/when-java) -evaluates-a-conjunction-boolean-exp1-boolean-exp2-does-it-ev) –
Joe
一般的に、このようなコードは実際のプログラミングでは避けなければなりません。私は理解しています、ここでは教育的な文脈です –
も参照してください[Java short-circuits operators](https://stackoverflow.com/a/8759917/8097737) – devpuh