Java, diğer bilgisayar dillerinin çoğunda bulunmayan iki ilginç Boole operatörü sağlar. AND ve OR'nin bu ikincil versiyonları, kısa devre mantıksal operatörler olarak bilinir . Önceki tablodan da görebileceğiniz gibi, OR operatörü, B ne olursa olsun, A doğru olduğunda doğru sonucunu verir.
Benzer şekilde, AND operatörü, B ne olursa olsun, A yanlış olduğunda yanlışla sonuçlanır. Bu operatörlerin ve formları yerine ||ve &&formlarını kullanırsanız , Java sağ taraftaki operandı tek başına değerlendirme zahmetine girmeyecektir. Sağ el operandının düzgün çalışması için soldaki doğru veya yanlış olmasına bağlı olduğunda bu çok kullanışlıdır.|&
Örneğin, aşağıdaki kod parçası, bir bölme işleminin değerlendirmeden önce geçerli olacağından emin olmak için kısa devre mantıksal değerlendirmeden nasıl yararlanabileceğinizi gösterir:
if ( denom != 0 && num / denom >10)
AND ( &&) 'nin kısa devre formu kullanıldığından, sıfıra bölmeden çalışma zamanı istisnasına neden olma riski yoktur. Bu kod satırı, AND'nin tek &sürümü kullanılarak yazıldıysa , her iki tarafın da değerlendirilmesi gerekir ve denomsıfır olduğunda bir çalışma zamanı istisnasına neden olur .
Boole mantığını içeren durumlarda, tek karakterli sürümleri yalnızca bitsel işlemler için bırakarak AND ve OR'nin kısa devre biçimlerini kullanmak standart bir uygulamadır. Ancak bu kuralın istisnaları vardır. Örneğin, aşağıdaki ifadeyi düşünün:
if ( c==1 & e++ < 100 ) d = 100;
Burada tek kullanmak &, artırma işleminin 1'e eşit eolup olmamasına uygulanmasını sağlar c.