は、私はそれがかもしれないと思った、このコードスニペットに〜の優先順位と++ Javaの
int j = 7;
System.out.println(Integer.toBinaryString(j));
j = ~j++;
System.out.println(Integer.toBinaryString(j));
プリント私が最初
111
11111111111111111111111111111001
を見ることを期待しています何
111
11111111111111111111111111111000
を考えます〜と++の優先順位
if t ++は私がOracle tutorialsを検索〜
11111111111111111111111111110111
前に評価されている場合、彼は〜答えは他の
11111111111111111111111111111001
なり++ 前に評価されたが、私は答えを見つけることができませんでした。 誰もこの動作を説明できますか?
誰もこの方法でコードを書くべきではありません。 – duffymo
'j =〜(++ j)'を試してみましたか? – BlackVegetable
Hm ...これはJavaで定義された動作ですか?あなたは割り当ての両側でjを変更しています。私はあなたが 'j = j ++'を試しても、予期しない結果を得るかもしれないと思います。だからこれは本当に優先順位の問題ではありません。 – Axel