Ekspresi Boolean Majemuk
Diperkenalkan| English | Makna |
|---|---|
| AND/ænd/ | AND logika |
| OR/ɔː/ | OR logika |
| NOT/nɒt/ | NOT (logika tidak) |
| short-circuit evaluation/ʃɔːt ˈsɜːkɪt ɪˌvæljuːˈeɪʃn/ | penilaian sirkuit pendek |
DAN dan ATAU
- Gabungkan syarat dengan
&&(logika DAN) dan||(logika ATAU). a && bbernilaitruehanya jika keduanyatrue.a || bbernilaitruejika setidaknya satutrue.- "Apakah angka berada antara 1 dan 10?" →
x >= 1 && x <= 10.
NOT membalik
!(logika NOT) membalik Boolean:!truemenjadifalse,!falsemenjaditrue.!(x > 5)sama dengantruepersis ketikaxtidak lebih besar dari5.- NOT berlaku pada ekspresi tepat setelahnya — gunakan tanda kurung untuk kejelasan.
- Negasi ganda saling meniadakan:
!!asama dengana.
Evaluasi Short-circuit
&&dan||berhenti segera setelah jawabannya diketahui — ini disebut evaluasi short-circuit.- Untuk
a && b: jikaaadalahfalse, hasilnya adalahfalsedanbtidak pernah dievaluasi. - Untuk
a || b: jikaaadalahtrue, hasilnya adalahtruedanbdilewati. - Hal ini memungkinkan Anda membuat pengaman:
x != 0 && 10 / x > 2menghindari pembagian dengan nol.
Tabel Kebenaran dan Tanda Kurung
- Tabel kebenaran mencantumkan setiap kombinasi input dan hasil ekspresi.
- Dengan dua variabel terdapat $4$ baris; buatlah satu untuk memeriksa logika yang rumit.
- Gunakan tanda kurung untuk memperjelas prioritas:
(a && b) || c. - Tanpa tanda kurung,
&&mengikat lebih ketat daripada||— sumber kebingungan yang umum.
Short-circuiting bukan hanya optimasi — hal itu dapat mencegah kesalahan. Dalam x != 0 && 10 / x > 2, jika x adalah 0 sisi kiri adalah false, sehingga Java tidak pernah mengevaluasi 10 / x dan menghindari pembagian dengan nol. Tukar urutannya dan program akan crash. Selain itu, && mengikat lebih ketat daripada ||, jadi gunakan tanda kurung pada ekspresi campuran untuk menyatakan maksud Anda secara eksplisit.
Apakah x berada di luar rentang 1–10?
x < 1 || x > 10→trueketikaxterlalu kecil atau terlalu besar.x = 15→false || true→true(di luar).x = 5→false || false→false(di dalam).
Gabungkan kondisi dengan && (keduanya benar), || (setidaknya satu benar), dan ! (kebalikan). Java menggunakan evaluasi short-circuit: &&/|| berhenti segera setelah hasilnya diketahui (berguna untuk pengaman seperti x != 0 && 10/x > 2). Buatlah tabel kebenaran untuk logika yang rumit dan gunakan tanda kurung — && mengikat lebih ketat daripada ||.
AND dari dua kondisi
&& true hanya ketika kedua input true.
a && b true ketika...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
&& (AND) membutuhkan kedua operand true.
Dalam a && b, jika a false, maka b...
Difficulty 1/5 · 100 coins + a small bonus on first completion today
&& short-circuit: sisi kiri false membuat hasil false segera.
!(true) mengevaluasi menjadi false.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
! membalikkan nilai Boolean.
Dengan x = 5, apa yang dievaluasi oleh x < 1 || x > 10?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
false || false → false (5 berada di dalam 1..10).
Perilaku di mana && dan || berhenti begitu hasilnya diketahui disebut evaluasi ___-circuit (satu kata).
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Evaluasi short-circuit berhenti lebih awal.