Rumah > Java > javaTutorial > teks badan

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

Barbara Streisand
Lepaskan: 2024-10-23 18:18:52
asal
651 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!

sumber: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