Rumah > Java > javaTutorial > Bekerja dengan Operator Unary

Bekerja dengan Operator Unary

Barbara Streisand
Lepaskan: 2024-11-11 09:20:02
asal
463 orang telah melayarinya

Secara takrifan, operator unari ialah operator yang memerlukan tepat satu operan, atau pembolehubah, untuk
fungsi.Mereka sering melakukan tugas mudah, seperti meningkatkan
pembolehubah berangka dengan satu, atau menafikan nilai boolean.

Working with Unary Operators

Operator Pelengkap dan Penafian Logik
Operator pelengkap logik, !, menterbalikkan nilai ungkapan boolean. Contohnya,
jika nilai adalah benar, ia akan ditukar kepada palsu, dan sebaliknya. Untuk menggambarkan ini, bandingkan
keluaran penyataan berikut:

boolean x = false;
System.out.println(x); // false
x = !x;
System.out.println(x); // true
Salin selepas log masuk
Salin selepas log masuk

Begitu juga, operator penolakan, -, membalikkan tanda ungkapan angka, seperti yang ditunjukkan
dalam kenyataan ini:

double x = 1.21;
System.out.println(x); // 1.21
x = -x;
System.out.println(x); // -1.21
x = -x;
System.out.println(x); // 1.21
Salin selepas log masuk
Salin selepas log masuk

Berdasarkan huraian, mungkin jelas bahawa sesetengah pengendali memerlukan pembolehubah
atau ungkapan yang mereka bertindak berdasarkan jenis tertentu. Contohnya, anda tidak boleh memohon
pengendali penolakan, -, kepada ungkapan boolean, anda juga tidak boleh menggunakan pelengkap logik
operator, !, kepada ungkapan angka. Berhati-hati dengan soalan pada peperiksaan yang cuba melakukan ini,
kerana ia akan menyebabkan kod gagal untuk disusun. Contohnya, tiada satu pun daripada baris kod berikut
akan menyusun:

int x = !5; // DOES NOT COMPILE
boolean y = -true; // DOES NOT COMPILE
boolean z = !0; // DOES NOT COMPILE
Salin selepas log masuk
Salin selepas log masuk

Pernyataan pertama tidak akan disusun kerana fakta bahawa di Java anda tidak boleh melakukan
penyongsangan logik bagi nilai berangka. Pernyataan kedua tidak menyusun kerana anda
tidak boleh menafikan nilai boolean secara numerik; anda perlu menggunakan operator songsang logik.
Akhir sekali, pernyataan terakhir tidak dikompilkan kerana anda tidak boleh mengambil pelengkap logik nilai berangka, dan anda juga tidak boleh menetapkan integer kepada pembolehubah boolean.

dalam Java 1 dan true tidak berkaitan dalam
dalam apa jua cara, sama seperti 0 dan palsu tidak berkaitan.

Operator Kenaikan dan Penurunan
Operator kenaikan dan pengurangan, dan --, masing-masing, boleh digunakan pada angka
operan dan mempunyai susunan atau keutamaan yang lebih tinggi, berbanding dengan pengendali binari. Dalam
erti kata lain, mereka sering digunakan terlebih dahulu pada ungkapan.
Pengendali kenaikan dan pengurangan memerlukan penjagaan khas kerana tertibnya
digunakan pada operan yang berkaitan boleh membuat perbezaan dalam cara ungkapan diproses. Jika operator diletakkan sebelum operan, dirujuk sebagai operator pra-kenaikan dan operator pra-penurunan, maka operator digunakan dahulu dan nilai kembali
ialah nilai baharu bagi ungkapan tersebut. Sebagai alternatif, jika operator diletakkan selepas operan,
dirujuk sebagai pengendali selepas kenaikan dan pengendali pasca pengurangan, maka nilai asal ungkapan dikembalikan, dengan pengendali digunakan selepas nilai dikembalikan.
Berikut ialah contoh ilustrasi:

boolean x = false;
System.out.println(x); // false
x = !x;
System.out.println(x); // true
Salin selepas log masuk
Salin selepas log masuk

Pengendali pra-kenaikan pertama mengemas kini nilai untuk pembilang dan mengeluarkan yang baharu
nilai 1. Operator pasca pengurangan seterusnya juga mengemas kini nilai pembilang tetapi output
nilai sebelum penyusutan berlaku.
Satu amalan biasa dalam peperiksaan pensijilan, walaupun kurang biasa di dunia nyata, ialah
gunakan berbilang operator kenaikan atau pengurangan pada satu pembolehubah pada baris yang sama:

double x = 1.21;
System.out.println(x); // 1.21
x = -x;
System.out.println(x); // -1.21
x = -x;
System.out.println(x); // 1.21
Salin selepas log masuk
Salin selepas log masuk

Yang ini lebih rumit daripada contoh sebelumnya kerana x diubah suai tiga
kali pada baris yang sama. Setiap kali ia diubah suai, apabila ungkapan bergerak dari kiri ke kanan,
nilai x berubah, dengan nilai yang berbeza diberikan kepada pembolehubah. Seperti yang anda akan ingat
daripada perbincangan kami tentang keutamaan pengendali, susunan operasi memainkan peranan penting dalam
menilai contoh ini.
Jadi bagaimana anda membaca kod ini? Pertama, x ditambah dan dikembalikan kepada ungkapan,
yang didarab dengan 5. Kita boleh permudahkan ini:

int x = !5; // DOES NOT COMPILE
boolean y = -true; // DOES NOT COMPILE
boolean z = !0; // DOES NOT COMPILE
Salin selepas log masuk
Salin selepas log masuk

Seterusnya, x dikurangkan, tetapi nilai asal 4 digunakan dalam ungkapan, membawa kepada
ini:

int counter = 0;
System.out.println(counter); // Outputs 0
System.out.println(++counter); // Outputs 1
System.out.println(counter); // Outputs 1
System.out.println(counter--); // Outputs 1
System.out.println(counter); // Outputs 0
Salin selepas log masuk

Penugasan akhir x mengurangkan nilai kepada 2 dan memandangkan ini ialah operator pra-kenaikan, nilai itu dikembalikan kepada ungkapan:

int x = 3;
int y = ++x * 5 / x-- + --x;
System.out.println("x is " + x);
System.out.println("y is " + y);
Salin selepas log masuk

Akhir sekali, kami menilai gandaan dan pembahagian dari kiri ke kanan, dan selesai dengan penambahan. Hasilnya kemudian dicetak:

int y = 4 * 5 / x-- + --x; // x assigned value of 4
Salin selepas log masuk

Untuk membuat kesimpulan, operator unari memudahkan dan memperkemas kod dengan mendayakan operasi operan tunggal yang pantas seperti menambah, menafikan atau menyongsangkan nilai. Ia penting untuk logik yang cekap, ungkapan padat dan kawalan ringkas ke atas data, meningkatkan kebolehbacaan dan kefungsian dalam pengaturcaraan.

Atas ialah kandungan terperinci Bekerja dengan Operator Unary. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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