JavaRush /จาวาบล็อก /Random-TH /ตัวดำเนินการเปรียบเทียบและตัวดำเนินการเชิงตรรกะ การแตกแขน...
articles
ระดับ

ตัวดำเนินการเปรียบเทียบและตัวดำเนินการเชิงตรรกะ การแตกแขนงในโปรแกรม ตัวดำเนินการแบบมีเงื่อนไข

เผยแพร่ในกลุ่ม

ตัวดำเนินการเชิงตรรกะ

มีตัวดำเนินการเชิงตรรกะไบนารีหลายตัวและตัวดำเนินการทางตรรกะหนึ่งตัว อาร์กิวเมนต์สำหรับตัวดำเนินการทั้งหมดเหล่านี้คือตัวอักษรเชิงตรรกะ (ค่าคงที่) ตัวแปรเชิงตรรกะ และนิพจน์ที่มีค่าตรรกะ
ตัวดำเนินการเปรียบเทียบและตัวดำเนินการเชิงตรรกะ  การแตกแขนงในโปรแกรม  ตัวดำเนินการแบบมีเงื่อนไข - 1
ตัวดำเนินการ:
  • !- "การปฏิเสธ" ซึ่งเป็นตัวดำเนินการเอกพจน์เปลี่ยนความหมายไปในทางตรงกันข้าม (กลับ: เปลี่ยนคำโกหกให้เป็นความจริง และเปลี่ยนความจริงให้กลายเป็นเรื่องโกหก)
  • &&- ตรรกะ “และ” (“การเชื่อมต่อ”, “จุดตัด”) ซึ่งเป็นการดำเนินการแบบไบนารี่ จะคืนค่าเป็นจริงหากตัวถูกดำเนินการทั้งสองเป็นจริง
  • ||- ตรรกะ "หรือ" (“การแยกส่วน”, “การรวม”) การดำเนินการแบบไบนารี ส่งคืนค่าจริงเมื่อมีตัวถูกดำเนินการอย่างน้อยหนึ่งตัวเป็นจริง
ตัวดำเนินการเชิงตรรกะมีลำดับความสำคัญดังต่อไปนี้: การปฏิเสธ การร่วม การแยกจากกัน เช่นเดียวกับในกรณีของตัวดำเนินการทางคณิตศาสตร์ วงเล็บจะถูกใช้เพื่อแก้ไขลำดับความสำคัญ หากวงเล็บคู่หนึ่งซ้อนอยู่ในวงเล็บอีกคู่หนึ่ง ค่าในวงเล็บด้านในจะถูกประเมินก่อน ตัวอย่าง:
boolean a = true;
boolean b;
b = a || true; // b истинно
b = !b; // b ложно
System.out.println(b); // выведет false
a = a || b; // a истинно
boolean c;
c = a && (a||b); //с истинно
System.out.println(c); // выведет true
ใน Java ประเภทบูลีนและตัวเลขไม่สามารถแปลงเป็นประเภทอื่นได้

ตัวดำเนินการเปรียบเทียบ

ตัวดำเนินการเปรียบเทียบส่วนใหญ่จะใช้กับค่าตัวเลข เหล่านี้คือตัวดำเนินการไบนารีทั้งหมดที่มีอาร์กิวเมนต์ตัวเลขสองตัว แต่ส่งคืนค่าบูลีน
  • >— ตัวดำเนินการ “มากกว่า”
  • >=- ตัวดำเนินการ "มากกว่าหรือเท่ากับ"
  • <— ตัวดำเนินการ "น้อยกว่า"
  • <=— ตัวดำเนินการ “น้อยกว่าหรือเท่ากับ”
  • !=— ตัวดำเนินการ “ไม่เท่ากัน”
  • ==— ตัวดำเนินการความเท่าเทียมกัน (ความเท่าเทียมกัน)
ตัวดำเนินการสองตัวสุดท้ายสามารถใช้ได้ไม่เพียงแต่กับค่าตัวเลขเท่านั้น แต่ยังสามารถใช้กับค่าเชิงตรรกะได้อีกด้วย ตัวอย่าง:
boolean m;
m = 5 >= 4; // истина
m = 5 != 5 || false; // ложь
boolean w;
w = m == false; // истина
System.out.println(w); // выведет true
เป็นสิ่งสำคัญมากที่จะไม่สับสนระหว่างตัวดำเนินการสมมูลกับตัวดำเนินการมอบหมายงาน ในนิพจน์ที่มีตัวดำเนินการประเภทต่างๆ การดำเนินการทางคณิตศาสตร์จะดำเนินการก่อน จากนั้นจึงดำเนินการเปรียบเทียบ จากนั้นดำเนินการเชิงตรรกะ และสุดท้ายมอบหมายงาน

คำสั่งเงื่อนไขถ้า

ผู้ปฏิบัติงานตรวจifสอบให้แน่ใจว่าคำสั่งถูกดำเนินการหรือข้ามไปขึ้นอยู่กับเงื่อนไขลอจิคัลที่ระบุ หากเงื่อนไขเป็นจริงคำสั่งจะถูกดำเนินการ
if (condition) инструкция;
แทนที่คำสั่ง อาจเป็นได้ทั้งคำสั่งปกติ (หนึ่งคำสั่ง) หรือคำสั่งผสม (บล็อกที่ประกอบด้วยหลายคำสั่ง รวมถึงคำสั่งแบบมีเงื่อนไขอื่นๆ) ตัวอย่าง (หากระบุศูนย์เป็นค่าตัวแปร การหารจะไม่เกิดขึ้นและผลลัพธ์จะไม่ปรากฏบนหน้าจอ):
// Пример 1
int a = 25;
if (a != 0) System.out.println( 100/a );
// Пример 2
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("На нуль делить нельзя");
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION