111
11111111111111111111111111111001
ilk ben bunun olabileceğini düşündüm görmeyi bekleyen ben ne bu kod parçacığı
int j = 7;
System.out.println(Integer.toBinaryString(j));
j = ~j++;
System.out.println(Integer.toBinaryString(j));
baskılar
111
11111111111111111111111111111000
düşünün t ve eğer + ve ++
'un önceliği t ++ Ben Oracle tutorials arandı ~
11111111111111111111111111110111
önce değerlendirilir eğer o ~ cevabı başka
11111111111111111111111111111001
olacak ++ önce değerlendirilir ama cevabını bulamadık. Bu davranışı herkes açıklayabilir mi?
Kimse bu şekilde kod yazmamalıdır. – duffymo
j = ~ (++ j) 'yi denediniz mi ve karşılaştırdınız mı? – BlackVegetable
Hm ... Java'da bu tanımlı davranış nedir? Ödevin her iki tarafında j'yi değiştiriyorsunuz. J = j ++ 'yi denediyseniz bile beklenmedik sonuçlar alabilirsiniz. Yani bu gerçekten bir öncelik meselesi değil. – Axel