"Salam, Amigo! Saya terlalu terbawa-bawa dengan menyelesaikan masalah logik sehingga saya tidak perasan anda masuk. Ini satu untuk anda: jika buaya terbang, maka salji putih. Ada buaya terbang. Apa kesimpulannya?"

"Um... Jadi kita simpulkan bahawa salji itu putih?"

"Cemerlang! Anda lulus ujian permulaan. Anda sudah bersedia untuk menguasai topik seterusnya. Ia dipanggil 'operator logik'. Dan kami akan mulakan dengan logik Boolean. Secara naluri, anda sudah mengetahuinya. Lagipun, anda adalah robot . Kami hanya perlu mengubah suai tetapan anda agar sepadan dengan bahasa Java."

"Logik Boolean? Saya baru-baru ini diberitahu tentang jenis boolean..."

"Ya, terdapat sambungan langsung di sini. Ungkapan Boolean hanya boleh benar atau salah. Dan apabila ia berlaku, logik semacam ini adalah mengenai ungkapan yang benar atau salah, dan gabungan ungkapan tersebut. Contohnya, ungkapan 18 < 25 sentiasa benar, dan 7 < 5 sentiasa palsu. Ungkapan (i < 10) bergantung pada nilai i. Dan jika ungkapan itu menilai, sebagai contoh, kepada benar, maka kita boleh meminta atur cara melakukan sesuatu."

"Ahh, saya faham. Ungkapan Boolean membolehkan kita bukan sahaja membuat kesimpulan logik, tetapi juga untuk mencipta garpu dalam program."

"Tepat sekali. Perkara utama ialah belajar cara menulisnya. Sebagai contoh, di Jawa anda tidak boleh pergi dan menulis ungkapan itu sahaja 18 < age <65. Ini akan menjadi tidak betul dari segi sintaksis dan program tidak akan disusun.

"Tetapi anda boleh menulisnya seperti ini:

(18 < age) AND (age < 65)

Sudah tentu, kami sebenarnya tidak menggunakan perkataan ENGLISH AND. Sebaliknya, anda memerlukan operator boolean . Iaitu, 'DAN' diwakili secara berbeza.

"Terdapat tiga operator logik dalam Java: AND(&&), OR(||), NOT(!).

Berita baiknya ialah anda boleh menggunakan kurungan untuk membina ungkapan logik bagi sebarang kerumitan.

Berita buruknya ialah pembangun Java memutuskan untuk menggunakan notasi daripada bahasa C dan bukannya perkataan and, ordan not.

Lihat skrin:

Operator logik Jangkaan Realiti
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

"Sebenarnya tidaklah teruk... Cukup padat. Saya hampir menghafalnya."

"Nah, itu hebat. Berikut ialah beberapa contoh penggunaan operator logik dalam Java:

Ungkapan Tafsiran Penjelasan
(0 < a) && (a < 100) (0 < a) and (a < 100) (0 < a) AND (a < 100)
(!a) && (!b) (not a) and (not b) (NOT a) AND (NOT b)
!(!a || !b) not((not a) or (not b)) NOT((NOT a) OR (NOT b))

Contoh penggunaan operator perbandingan dan pembolehubah boolean

"Ingat, Amigo, di mana sahaja anda boleh menulis ungkapan logik, anda boleh menulis pembolehubah logik."

"Macam mana tu?"

"Maksud saya anda boleh menulis ungkapan logik dengan cara yang berbeza. Contohnya:

Kod Penjelasan
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Jika nilai umur antara 18dan 65, maka frasa "Anda boleh bekerja" dipaparkan.
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Kami mencipta isYoungpembolehubah dan mengalihkan bahagian pertama ungkapan ke dalamnya. Kami hanya menggantikan age >= 18dengan age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
Kami mencipta pembolehubah isOld dan mengalihkan bahagian kedua ungkapan ke dalamnya. Selain itu, age <= 65telah digantikan dengan age > 65.

"Ketiga-tiga contoh ini adalah setara. Hanya dalam contoh kedua kami mengalihkan sebahagian daripada ungkapan daripada pernyataan ifke dalam pembolehubah boolean yang berasingan ( isYoung). Dalam contoh ketiga, kami memindahkan bahagian kedua ungkapan itu ke dalam pembolehubah kedua ( isOld). Dengan cara ini, nilai lalai pembolehubah boolean ialah false."

"Saya akan ingat itu. Saya harap."

Aritmetik logik

"Sekarang mari kita secara ringkas melalui operasi logik. Mereka mematuhi peraturan yang sangat mudah dan logik (bagaimana boleh sebaliknya!).

"Pertama, mari kita lihat bagaimana ORpengendali berfungsi. Ia juga dikenali sebagai ||atau disjunction .

Ungkapan Hasilnya
true || true true
true || false true
false || true true
false || false false

"Bolehkah anda simpulkan sekarang apakah hasil ungkapan a || bberdasarkan jadual?"

"Saya faham!" Nilai ungkapan ialah truejika sekurang-kurangnya satu istilah dalam ungkapan itu ialah true. Jika kedua-duanya false, maka hasilnya adalah false.

"Itu betul. Memandangkan anda sangat bijak, lihat sekali lagi pada jadual dan bayangkan itu falseadalah 0 dan trueialah 1. Apabila anda melihatnya seperti itu, adakah ||tingkah laku pengendali mengingatkan anda tentang apa-apa daripada aritmetik biasa?"

"Um... Ya, ia agak seperti penambahan... Tetapi apabila anda melakukan penambahan, 1 + 1 tidak sama dengan 1."

"Ada rasa di mana ia adalah sama jika kita hanya bekerja dengan 0 dan 1. Tetapi jangan risau dengan itu sekarang. Yang penting ialah anda perasan persamaan antara operasi ||dan penambahan. Ini bermakna anda menang' t terkejut dengan fakta bahawa operasi ini sering dipanggil 'tambahan logik'.

"Faham."

"Sekarang pengendali AND, aka &&, aka konjungsi , muncul ke atas pentas.

Ungkapan Hasilnya
true && true true
true && false false
false && true false
false && false false

"Seperti yang saya fahami, hasil ungkapan truehanya jika kedua-dua nilai yang membentuk ungkapan itu ialah true. Jika tidak, ia sentiasa false."

"Syabas, Amigo! Anda menyerap semua ini seperti span. Adakah anda melihat persamaan lain dengan aritmetik?"

"Pendaraban!"

"Tepat sekali. Jadi di sini kita ada 'pendaraban logik'".

"Seterusnya kita melihat NOToperator, aka !, aka songsang logik .

Ungkapan Hasilnya
!true false
!false true

"Nah, semuanya agak mudah di sini. Pengendali bertukar trueke falsedan begitu juga sebaliknya."

"Tepat sekali. Berikut ialah beberapa ungkapan yang berguna untuk anda:"

Ungkapan Hasilnya
m && !m false
m || !m true
!(a && b) !a || !b
!(a || b) !a && !b