Rumah >Java >javaTutorial >Java's & Operator: Bitwise AND atau Logical AND – Bilakah Ia Melakukan Apa?

Java's & Operator: Bitwise AND atau Logical AND – Bilakah Ia Melakukan Apa?

Patricia Arquette
Patricia Arquetteasal
2024-12-02 21:15:19785semak imbas

Java's & Operator: Bitwise AND or Logical AND – When Does It Do What?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn