W języku java istnieje operator logiczny OR (||
) i operator logiczny AND (&&
). Czy istnieje operator logical XOR? Próbowałem ^^
, ale to nie działa.Co to jest logiczny operator XOR w java?
Odpowiedz
Logiczny operator XOR istnieje w Javie i jest zapisany jako ^
.
Aby uzyskać prawo terminologii w języku Java:
&
,|
i^
nazywane są bitowe lub logicznych operatorów, w zależności od rodzaju ich argumentów;&&
i||
nazywane są operatorami warunkowymi warunkowymi.
Aby uzyskać szczegółowe informacje, patrz JLS § 15.22. Bitwise and Logical Operators i dalsze.
Brak bezpośredniego odpowiednika dla &&
i ||
dla XOR. Jedynym powodem, dla którego &&
i ||
istnieją jako oddzielne operatory od &
i |
jest ich short-circuiting behaviour (dlatego są one nazywane "warunkowymi"), a XOR nie może być zwarty.
Interesujący. Tabela na _The ™ Java ™ Tutorials_ na [Operatory] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html) odnosi się do "operatorów logicznych" w odróżnieniu od "operatorów bitowych", jednak [ Operatory równości, relacyjne i warunkowe] (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op2.html) odnoszą się do "operatorów warunkowych", jak mówisz. –
Ach, myślę, że rozumiem konflikt. Właściwie uważam, że "operator logiczny" oznacza, że porównywane są wartości logiczne. Zatem operatory warunkowe są operatorami logicznymi, a operatory bitowe mogą być również używane jako operatory logiczne. Właśnie dlatego JLS mówi "Operatory bitowe i logiczne" w odniesieniu do '&', '|' i '^'. Dlatego nie uważam, że niepoprawne byłoby odwoływanie się do "&&" i "||" (operatorów warunkowych) również jako operatorów logicznych. –
Co zrobi logiczny xor? Istnieje bitowy xor, który jest ^. –
Logiczny xor (A logical_xor B) jest po prostu "A! = B" – nos