int a=4; int b=5; a ^= b; // a=1, b=5 b ^= a; // a=1, b=4 a ^= b; // a=5, b=4You might think you could collapse that program like this, as you can in some C++ compilers. It may not be legitimate C++, but some compilers allow it. However, in Java it does not work. You just get a=0.
int a=4; int b=5; a ^= b ^= a ^= b;Even
int a=4; int b=5; a ^= ( b ^= ( a ^= b ) );As a general rule, avoid cascading any of the Java combo assign/compute operators such as ^= += -= *= /= %= &= |= <<= >>= >>>= or =, especially when you use the same variable both on the left and right of an assignment operator.
This page is posted
Optional Replicator mirror
Please read the feedback from other visitors, or send your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.
Your face IP:[188.8.131.52]
You are visitor number|