Memahami Sifat Dwi & Operator
Di Java, operator & menjalankan operasi bitwise DAN pada integer. Walau bagaimanapun, ia juga boleh digunakan untuk operasi logik DAN, yang membawa kepada kekeliruan tentang sifat sebenarnya.
Untuk menjelaskannya, operator & dibebankan secara dalaman. Dalam kes operan boolean, ia melakukan operasi logik DAN. Ini bermakna ia menilai kedua-dua operan, menentukan sama ada kedua-duanya adalah benar sebelum mengembalikan hasilnya.
Sebaliknya, apabila operator & digunakan dengan operan integer, ia melakukan operasi AND mengikut bit. Ini melibatkan membandingkan bit individu bagi kedua-dua operan dan mengembalikan integer baharu di mana setiap bit adalah hasil daripada operasi bitwise AND yang sepadan pada bit input.
Cara Ia Berfungsi
Untuk memahami perbezaan antara operasi logik dan bitwise AND, pertimbangkan ungkapan:
(x != 0) & (1/x > 1) (x != 0) && (1/x > 1)
Menggunakan operator logik DAN (&), kedua-dua operan dinilai tanpa mengira keputusan operan pertama. Ini bermakna jika x = 0, ungkapan akan membuang ralat kerana ia cuba membahagi dengan sifar.
Menggunakan operator bitwise AND (&), walau bagaimanapun, operan kedua hanya dinilai jika operan pertama ialah benar. Ini bermakna jika x = 0, ungkapan akan dinilai kepada palsu tanpa cuba membahagi dengan sifar.
Kelakuan Serupa dengan Logik ATAU
Prinsip yang sama digunakan untuk operator OR logik (|). Ungkapan exprA | exprB menilai kedua-dua operan tanpa mengira hasil operan pertama, manakala exprA || exprB hanya menilai operan kedua jika operan pertama adalah palsu.
Kesimpulan
Walaupun operator & mempunyai fungsi logik dan bitwise, perbezaan antara kedua-dua operasi ialah penting. Logik AND sentiasa menilai kedua-dua operan, manakala bitwise AND mengelak daripada menilai operan kedua jika operan pertama adalah palsu. Begitu juga, logik OR menilai kedua-dua operan, manakala bitwise OR mengelak daripada menilai operan kedua jika operan pertama adalah benar.
Atas ialah kandungan terperinci Java's & Operator: Bitwise AND atau Logical AND – Bilakah Ia Melakukan Apa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!