ตัวดำเนินการเชิงตรรกะ
มีตัวดำเนินการเชิงตรรกะไบนารีหลายตัวและตัวดำเนินการทางตรรกะหนึ่งตัว อาร์กิวเมนต์สำหรับตัวดำเนินการทั้งหมดเหล่านี้คือตัวอักษรเชิงตรรกะ (ค่าคงที่) ตัวแปรเชิงตรรกะ และนิพจน์ที่มีค่าตรรกะ
ตัวดำเนินการ:
!
- "การปฏิเสธ" ซึ่งเป็นตัวดำเนินการเอกพจน์เปลี่ยนความหมายไปในทางตรงกันข้าม (กลับ: เปลี่ยนคำโกหกให้เป็นความจริง และเปลี่ยนความจริงให้กลายเป็นเรื่องโกหก)
&&
- ตรรกะ “และ” (“การเชื่อมต่อ”, “จุดตัด”) ซึ่งเป็นการดำเนินการแบบไบนารี่ จะคืนค่าเป็นจริงหากตัวถูกดำเนินการทั้งสองเป็นจริง
||
- ตรรกะ "หรือ" (“การแยกส่วน”, “การรวม”) การดำเนินการแบบไบนารี ส่งคืนค่าจริงเมื่อมีตัวถูกดำเนินการอย่างน้อยหนึ่งตัวเป็นจริง
ตัวดำเนินการเชิงตรรกะมีลำดับความสำคัญดังต่อไปนี้: การปฏิเสธ การร่วม การแยกจากกัน เช่นเดียวกับในกรณีของตัวดำเนินการทางคณิตศาสตร์ วงเล็บจะถูกใช้เพื่อแก้ไขลำดับความสำคัญ หากวงเล็บคู่หนึ่งซ้อนอยู่ในวงเล็บอีกคู่หนึ่ง ค่าในวงเล็บด้านในจะถูกประเมินก่อน ตัวอย่าง:
boolean a = true;
boolean b;
b = a || true;
b = !b;
System.out.println(b);
a = a || b;
boolean c;
c = a && (a||b);
System.out.println(c);
ใน Java ประเภทบูลีนและตัวเลขไม่สามารถแปลงเป็นประเภทอื่นได้
ตัวดำเนินการเปรียบเทียบ
ตัวดำเนินการเปรียบเทียบส่วนใหญ่จะใช้กับค่าตัวเลข เหล่านี้คือตัวดำเนินการไบนารีทั้งหมดที่มีอาร์กิวเมนต์ตัวเลขสองตัว แต่ส่งคืนค่าบูลีน
>
— ตัวดำเนินการ “มากกว่า”
>=
- ตัวดำเนินการ "มากกว่าหรือเท่ากับ"
<
— ตัวดำเนินการ "น้อยกว่า"
<=
— ตัวดำเนินการ “น้อยกว่าหรือเท่ากับ”
!=
— ตัวดำเนินการ “ไม่เท่ากัน”
==
— ตัวดำเนินการความเท่าเทียมกัน (ความเท่าเทียมกัน)
ตัวดำเนินการสองตัวสุดท้ายสามารถใช้ได้ไม่เพียงแต่กับค่าตัวเลขเท่านั้น แต่ยังสามารถใช้กับค่าเชิงตรรกะได้อีกด้วย ตัวอย่าง:
boolean m;
m = 5 >= 4;
m = 5 != 5 || false;
boolean w;
w = m == false;
System.out.println(w);
เป็นสิ่งสำคัญมากที่จะไม่สับสนระหว่างตัวดำเนินการสมมูลกับตัวดำเนินการมอบหมายงาน ในนิพจน์ที่มีตัวดำเนินการประเภทต่างๆ การดำเนินการทางคณิตศาสตร์จะดำเนินการก่อน จากนั้นจึงดำเนินการเปรียบเทียบ จากนั้นดำเนินการเชิงตรรกะ และสุดท้ายมอบหมายงาน
คำสั่งเงื่อนไขถ้า
ผู้ปฏิบัติงานตรวจ
if
สอบให้แน่ใจว่าคำสั่งถูกดำเนินการหรือข้ามไปขึ้นอยู่กับเงื่อนไขลอจิคัลที่ระบุ หากเงื่อนไขเป็นจริง
คำสั่งจะถูกดำเนินการ
if (condition) инструкция;
แทนที่คำสั่ง อาจเป็นได้ทั้งคำสั่งปกติ (หนึ่งคำสั่ง) หรือคำสั่งผสม (บล็อกที่ประกอบด้วยหลายคำสั่ง รวมถึงคำสั่งแบบมีเงื่อนไขอื่นๆ) ตัวอย่าง (หากระบุศูนย์เป็นค่าตัวแปร การหารจะไม่เกิดขึ้นและผลลัพธ์จะไม่ปรากฏบนหน้าจอ):
int a = 25;
if (a != 0) System.out.println( 100/a );
int b = 25;
if (b != 0) {
System.out.println( 100/b );
}
แม้ว่าโค้ดในตัวอย่างแรกจะดูกะทัดรัดกว่า แต่เฉพาะในตัวอย่างที่สองเท่านั้นที่เป็นไปได้ที่จะดำเนินการหลายคำสั่งหากเงื่อนไขเป็นจริง ตัวดำเนินการ
if
มีรูปแบบพร้อมส่วนเพิ่มเติม
else
:
if (condition)
инструкция1;
else
инструкция2;
หาก
เงื่อนไข เป็นจริง คำสั่งแบบง่ายหรือแบบผสม1 จะถูกดำเนินการ และหากเงื่อนไขเป็นเท็จ
คำสั่ง แบบง่ายหรือแบบผสม 2 จะถูกดำเนินการ ตัวอย่าง:
int a = 0;
if (a != 0) System.out.println( 100/a );
else System.out.println("На нуль делить нельзя");
GO TO FULL VERSION