Java menyediakan dua operator Boolean menarik yang tidak ditemukan di sebagian besar bahasa komputer lainnya. Versi sekunder dari AND dan OR ini dikenal sebagai operator logika hubung singkat . Seperti yang Anda lihat dari tabel sebelumnya, operator OR menghasilkan true ketika A benar, tidak peduli B adalah.
Demikian pula, operator AND menghasilkan false jika A salah, tidak peduli B adalah. Jika Anda menggunakan formulir ||
dan &&
, daripada formulir |
dan &
dari operator ini, Java tidak akan repot-repot mengevaluasi operan kanan saja. Ini sangat berguna ketika operan kanan bergantung pada yang kiri benar atau salah agar berfungsi dengan benar.
Misalnya, pecahan kode berikut menunjukkan bagaimana Anda dapat memanfaatkan evaluasi logika hubung singkat untuk memastikan bahwa operasi pembagian akan valid sebelum mengevaluasinya:
if ( denom != 0 && num / denom >10)
Karena bentuk hubungan pendek AND ( &&
) digunakan, tidak ada risiko menyebabkan pengecualian run-time dari pembagian dengan nol. Jika baris kode ini ditulis menggunakan &
versi tunggal AND, kedua sisi harus dievaluasi, menyebabkan pengecualian waktu proses ketika denom
nol.
Ini adalah praktik standar untuk menggunakan bentuk hubung singkat dari AND dan OR dalam kasus yang melibatkan logika Boolean, meninggalkan versi karakter tunggal secara eksklusif untuk operasi bitwise. Namun, ada pengecualian untuk aturan ini. Misalnya, perhatikan pernyataan berikut:
if ( c==1 & e++ < 100 ) d = 100;
Di sini, menggunakan satu &
memastikan bahwa operasi kenaikan akan diterapkan e
apakah c
sama dengan 1 atau tidak.