2014-10-15 23 views

Odpowiedz

18

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.

+0

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. –

+0

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. –