Gece gece Java ile çıldırmacalar serisine pek anlaşılamayan bir konu ile giriş yapalım. Tam önce XOR operatörü nedir ve ne işe yarar diye açıklama yapacaktım ki RainingCodes nick'li yazarın "XOR nedir ve ne işe yarar" yazısına denk gelince daha doğru bir tanımlama yapamayacağımı fark ettim. XOR operatörünün kullanımı sadece Java programlama diline özgü değil, hemen tüm dillerde XOR operatörü vardır ama biz bugün sadece Java için XOR operatörünün nasıl kullanıldığını inceleyeceğiz.
Java'da XOR operatörü ^ karakteri ile kullanılır ve boolean bir veri türüdür.
Sonuçları anlamlandırmak için kabaca false=0, true=1 değerleri için a+b'nin 2 modunun kaç olduğuna bakın. eğer sonuç 0 ise sonuç=false, 1 ise sonuç=true olacaktır.
boolean a = false;
boolean b = false;
boolean aXORb = a ^ b; //0+0=0=false
System.out.println("false XOR false: "+aXORb); //false
a = false;
b = true;
aXORb = a ^ b; //0+1=1=true
System.out.println("false XOR true: "+aXORb); //true
a = true;
b = false;
aXORb = a ^ b; //1+0=1=true
System.out.println("true XOR false: "+aXORb); //true
a = true;
b = true;
aXORb = a ^ b; //1+1=2=0=false
System.out.println("true XOR true: "+aXORb); //false