Rumah > Java > javaTutorial > Bila dan Cara Memanfaatkan Kuasa Operator Sama Paip \'|=\'

Bila dan Cara Memanfaatkan Kuasa Operator Sama Paip \'|=\'

Barbara Streisand
Lepaskan: 2024-10-23 18:18:52
asal
723 orang telah melayarinya

When and How to Harness the Power of the Pipe Equal Operator

Pandangan Lebih Dekat pada Pipe Equal Operator "|=": Manipulasi Bitwise Disahkan

Dalam bidang pengaturcaraan, sejumlah besar pengendali memperkasakan pengkod untuk memanipulasi data dan melakukan pengiraan. Antaranya, pengendali "|=" yang sukar difahami boleh menyebabkan ramai yang menggaru kepala. Pengendali yang penuh teka-teki ini, yang sering ditemui dalam repositori sumber terbuka, memegang kunci untuk memahami operasi bitwise.

Pengendali "|=" pada asasnya ialah bentuk operasi tugasan ringkas yang melibatkan pengendali OR bitwise ("|") . Ia menyerupai pengendali "=" (tugasan) tetapi dengan aksara paip tambahan ("|"), memberikan cara yang elegan untuk mengubah suai pembolehubah sasaran.

Sebagai contoh, pertimbangkan coretan kod berikut:

<code class="java">Notification notification = new Notification(icon, tickerText, when);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_VIBRATE;</code>
Salin selepas log masuk

Di sini, pengendali "|=" digunakan untuk menambah bendera pada sifat "lalai" objek "pemberitahuan". Ia bersamaan dengan bentuk dikembangkan berikut:

<code class="java">notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;
notification.defaults = notification.defaults | Notification.DEFAULT_VIBRATE;</code>
Salin selepas log masuk

Seperti yang anda mungkin telah meneka, pemalar "Notification.DEFAULT_SOUND" dan "Notification.DEFAULT_VIBRATE" membawa nilai bendera yang diwakili sebagai kuasa dua:

<code class="java">public static final int DEFAULT_SOUND = 1;
public static final int DEFAULT_VIBRATE = 2; // equivalent to 1 << 1 or 10 in binary
Salin selepas log masuk

Menggunakan operasi OR bitwise membolehkan manipulasi bendera yang cekap. Menambah bendera adalah semudah melakukan operasi bitwise ATAU:

<code class="java">int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE; // 001 | 010 -> 011
myFlags |= DEFAULT_LIGHTS;</code>
Salin selepas log masuk

Sebaliknya, ujian jika bendera ditetapkan boleh dicapai menggunakan operator bitwise AND ("&"):

<code class="java">boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;</code>
Salin selepas log masuk

Memahami operator bitwise OR dan penggunaannya bersama dengan operator pipe equal adalah asas kepada pemahaman kod dan penyahpepijatan. Dengan merungkai selok-belok manipulasi bitwise, anda boleh membuka kunci potensi penuh pengendali "|=" dan memanfaatkan kuasanya untuk memanipulasi bendera dengan mudah.

Atas ialah kandungan terperinci Bila dan Cara Memanfaatkan Kuasa Operator Sama Paip \'|=\'. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan